PowerTools SPREAD for Windows Forms 10.0J
データに合わせたセルのサイズ

セル内のデータの長さに合わせて、セルのサイズを変更できます。 最長データを持つセルのサイズを、優先サイズと呼びます。

SheetViewクラスのGetPreferredCellSizeメソッドは、指定のセルの優先サイズを取得します。

次の図は、列内のセルテキストに合わせて列幅を変更する例を示します(ページ下部のサンプルコードの結果)。

テキストに合わせたセル幅

セル型には、サイズパラメータを無視するものと使用するものがあります。たとえば、単一行のテキスト型セルはサイズパラメータを無視します。一方、テキストを折り返して表示する複数行のテキスト型セルは、サイズパラメータの幅属性を使用して、改行位置を決定します。基本的に、サイズパラメータの幅(高さ)の値は、水平(垂直)方向のテキストを折り返すための改行に使用されます。SheetViewクラスのGetPreferredRowHeightメソッドはセルのレンダラのGetPreferredSizeメソッドに対し、セルの現在のサイズを渡します。レンダラはこの情報を受け取ると、セル内のテキストを複数行表示にして、セル幅は現状のままでセルを垂直方向に拡大するものとみなします。

SheetViewクラスのGetPreferredRowHeightメソッドで行の高さを、GetPreferredColumnWidthメソッドで列幅を取得します。

データ サイズに合わせて行全体または列全体のサイズを設定する方法については、「データに合わせたサイズ」を参照してください。

サンプルコード

次のサンプル コードは、セル内のテキストを設定した後、セルの最大サイズに合わせて列のセル幅をサイズ変更します。

C#
コードのコピー
System.Drawing.Size sz;
fpSpread1.ActiveSheet.SetValue(0, 0, "Expand the cell to fit the text.");
sz = fpSpread1.ActiveSheet.GetPreferredCellSize(0,0);
fpSpread1.ActiveSheet.Columns[0].Width = sz.Width;
MessageBox.Show("The width of the cell is " + sz.Width.ToString());
Visual Basic
コードのコピー
Dim sz As System.Drawing.Size
fpSpread1.ActiveSheet.SetValue(0, 0, "Expand the cell to fit the text.")
sz = fpSpread1.ActiveSheet.GetPreferredCellSize(0, 0)
fpSpread1.ActiveSheet.Columns(0).Width = sz.Width
MessageBox.Show("The width of the editor is " & sz.Width.ToString())
関連トピック

 

 


© 2004-2017, GrapeCity inc. All rights reserved.