作成日: 2018/05/07 最終更新日: 2019/01/31
文書種別
技術情報
詳細
FlexGrid.autoSizeColumnsメソッドを実行して列幅を自動調整した場合、以下の2種類の方法で列幅を計測します。
方法1:高速な計測方法
canvas要素を使用して幅を計測します。方法2より非常に高速に計測できますが、下記のケースでは幅を正しく計測することができません。その他のケースでは、方法2と計測精度に違いはありません。
方法2:正確な計測方法
div要素の幅を計測します。上記のケースでも幅を正しく計測することができますが、方法1よりも速度が遅くなります。
プロパティの設定値による計測方法の違い
どの計測方法が用いられるかは、FlexGrid.quickAutoSizeプロパティとColumn.quickAutoSizeプロパティの値によって決定されます。
方法1:高速な計測方法
canvas要素を使用して幅を計測します。方法2より非常に高速に計測できますが、下記のケースでは幅を正しく計測することができません。その他のケースでは、方法2と計測精度に違いはありません。
- セルにHTMLコンテンツが含まれる場合(Column.isContentHtml = trueの場合)
- セル文字列が折り返される場合(Column.wordWrap = trueの場合)
- セル文字列が複数行で表示される場合(Column.multiLine = trueの場合)
- セルテンプレートが定義されている場合
方法2:正確な計測方法
div要素の幅を計測します。上記のケースでも幅を正しく計測することができますが、方法1よりも速度が遅くなります。
プロパティの設定値による計測方法の違い
どの計測方法が用いられるかは、FlexGrid.quickAutoSizeプロパティとColumn.quickAutoSizeプロパティの値によって決定されます。
- FlexGrid.quickAutoSize = undefinedの場合(既定値)
- FlexGrid.itemFormatterプロパティ、FlexGrid.formatItemイベントのいずれかが定義されている場合、FlexGrid.quickAutoSize = falseと同じ動作になります。
- FlexGrid.itemFormatterプロパティ、FlexGrid.formatItemイベントのいずれも定義されていない場合、FlexGrid.quickAutoSize = trueと同じ動作になります。
- FlexGrid.quickAutoSize = trueの場合
- Column.quickAutoSize = undefined(既定値)の列は、高速な方法で計測できる場合は高速な方法で、高速な方法で計測できない場合は正確な方法で計測されます。
- Column.quickAutoSize = trueの列は、高速な方法で計測されます。
- Column.quickAutoSize = falseの列は、正確な方法で計測されます。
- FlexGrid.quickAutoSize = falseの場合
- 全ての列が正確な方法で計測されます。
関連情報
旧文書番号
82651