SPREAD for WPF 3.0J - GcSpreadSheet
行列の自動調整
SPREAD for WPF 3.0J - GcSpreadSheet > 開発者ガイド > 行列 > 行列の自動調整

GcSpreadSheetでは、ヘッダをダブルクリックすることで、セル内のデータに合わせて列幅または行の高さを自動調整することができます。デフォルトでは、この機能が有効になっています。

特定の行または列範囲の自動調整

特定の行または列の範囲を自動調整するには、AutoFitメソッドを使用します。

以下のコードは、指定した行と列の範囲のすべてのデータを自動調整します。

コードのコピー
// 自動調整の対象となる列を設定します。
GcSpreadSheet.Workbook.ActiveSheet.Cells["B1"].Text = "長いテキストの場合は、この列が自動調整されます。";
// すべてのデータを表示するように、列Bを自動調整します。
GcSpreadSheet.Workbook.ActiveSheet.Columns["B:C"].AutoFit(); 

// 自動調整の対象となる行を設定します。
GcSpreadSheet.Workbook.ActiveSheet.Cells["C2"].Text = "セルC2には、自動調整でテキストを自動的に次の行に折り返します。";
GcSpreadSheet.Workbook.ActiveSheet.Cells["C2"].WrapText = true;
// すべてのデータを表示するように、2行目の行を自動調整します。
GcSpreadSheet.Workbook.ActiveSheet.Rows[1].AutoFit();
コードのコピー
' 自動調整の対象となる列を設定します。
GcSpreadSheet.Workbook.ActiveSheet.Cells("B1").Text = "長いテキストの場合は、この列が自動調整されます。"
' すべてのデータを表示するように、列Bを自動調整します。
GcSpreadSheet.Workbook.ActiveSheet.Columns("B:C").AutoFit()

' 自動調整の対象となる行を設定します。
GcSpreadSheet.Workbook.ActiveSheet.Cells("C2").Text = "セルC2には、自動調整でテキストを自動的に次の行に折り返します。"
GcSpreadSheet.Workbook.ActiveSheet.Cells("C2").WrapText = True
' すべてのデータを表示するように、2行目の行を自動調整します。
GcSpreadSheet.Workbook.ActiveSheet.Rows(1).AutoFit()

すべての行または列の自動調整の有効/無効

シート内のすべての行または列の自動調整を制御するには、AutoFitMode列挙体を使用します。この列挙体に設定できる値は次の通りです。

メンバ 説明
Row 自動調整を行に対してのみ有効にします。
Column 自動調整を列に対してのみ有効にします。
None 自動調整をすべての行列に対して無効にします。
All 自動調整をすべての行列に対して有効にします。(デフォルト値)

次の図は、AutoFitMode列挙体をColumnに設定した例です。

コードのコピー
// 行のサイズ変更を無効にします。  
GcSpreadSheet.AutoFitMode = AutoFitMode.Column;
コードのコピー
' 行のサイズ変更を無効にします。  
GcSpreadSheet.AutoFitMode = AutoFitMode.Column

行列のサイズ変更の無効

実行時に行と列のサイズ変更を無効にするには、ResizableプロパティをFalseに設定します。デフォルトでは、この機能が有効になっています。このプロパティは、XAMLとコードの両方で設定できます。

注意:XAMLでは、行に対してResizableプロパティを設定することはできません。

以下のコードは、Resizableプロパティを使用して行と列のサイズ変更を無効にする方法を示します。

コードのコピー
<gss:GcSpreadSheet x:Name="GcSpreadSheet" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" >
    <gss:GcSpreadSheet.Sheets>
        <gss:SheetInfo ColumnCount="20" RowCount="50">
            <gss:SheetInfo.Columns>
                <gss:ColumnInfo Resizable="False" />
            </gss:SheetInfo.Columns>
        </gss:SheetInfo>
    </gss:GcSpreadSheet.Sheets>
</gss:GcSpreadSheet>                                        
コードのコピー
// ResizableプロパティをFalseに設定します。
GcSpreadSheet.Workbook.ActiveSheet.Columns["B:E"].Resizable = false;
コードのコピー
' ResizableプロパティをFalseに設定します。
GcSpreadSheet.Workbook.ActiveSheet.Columns("B:E").Resizable = False