MESCIUS SPREAD for Windows Forms 17.0J
GetPreferredColumnWidth メソッド

このシートの指定した列にある最も幅の広いセル(テキスト内容に基づく)の幅を取得します。
シートの指定した列にある最も幅の広いテキストの幅を取得します。
オーバーロード一覧
オーバーロード説明
GetPreferredColumnWidth(Int32)このシートの指定した列にある最も幅の広いセル(テキスト内容に基づく)の幅を取得します。  
GetPreferredColumnWidth(Int32,Boolean)このシートの指定した列にある最も幅の広いセル(テキスト内容に基づく)の幅を取得します。  
GetPreferredColumnWidth(Int32,Boolean,Boolean)このシートの指定した列にある最も幅の広いセル(テキスト内容に基づく)の幅を取得します。  
GetPreferredColumnWidth(Int32,Boolean,Boolean,Boolean)このシートの指定した列にある最も幅の広いセル(テキスト内容に基づく)の幅を取得します。  
GetPreferredColumnWidth(Int32,Boolean,Boolean,Boolean,Boolean)このシートの指定した列にある最も幅の広いセル(テキスト内容に基づく)の幅を取得します。  
GetPreferredColumnWidth(Int32,PreferredSizeColumnOptions)このシートの指定した列にある最も幅の広いセル(テキスト内容に基づく)の幅を取得します。  
解説

このメソッドまたはColumn.GetPreferredWidthメソッドを使用することで、列の幅をセルのデータに基づいて設定できます。詳細については、「データに合わせたサイズ」を参照してください。

これらのメソッドは、列の最適な幅を、列に含まれるデータに基づいて取得します。列の各セルをループ処理してスタイルモデル内のセルの複合StyleInfo.Rendererの、IRendererインタフェースのGetPreferredSizeメソッドを呼び出し、最大値を取得します。

セルのテキストを複数行に折り返すよう設定している場合(GeneralCellTypeのWordWrapがTrueであるか、TextCellTypeのMultilineまたはWordWrapあるいはその両方がTrueの場合)、GetPreferredSizeメソッドは、セル内のすべてのテキストを表示するのに最適な幅を、現在の列幅で返します。テキスト型セルまたはテキストを含むヘッダセルの場合は、テキスト型セルまたはヘッダセルのWordWrapプロパティをFalseに設定して、ワードラップを必ず無効にしてください。

列数が非常に多い場合は、最適な幅を取得するために、SheetView.DocumentModels.ColumnAxis用のカスタムアクシスモデルを作成できます。この場合は、DefaultSheetAxisModelから派生したクラスを作成し、そのコンストラクタでSheetViewへの参照を取得してフィールドに格納します。さらに、列インデックスに対してこのメソッドを呼び出すようにGetSizeメソッドをオーバーライドすることが必要です。

言い換えると、これは各セルをループ処理して各セルの複合スタイルのレンダラのGetPreferredSizeを呼び出し、列のすべてのセルの最大幅を取得します。複数行テキストと単一行テキストの処理方法の詳細については、GetPreferredSizeを参照してください。

複合スタイルの動作の詳細については、ISheetStyleModel.GetCompositeInfoを参照してください。

参照

SheetView クラス
SheetView メンバ
GetPreferredWidth メソッド

開発者ガイド

データに合わせたサイズ

 

 


© MESCIUS inc. All rights reserved.