[FlexGrid] セルのスタイルを変更してスクロールすると、他のセルのスタイルが変更されてしまう

文書番号 : 81742     文書種別 : Limit
登録日 : 2016/07/20     最終更新日 : 2016/07/20

対象製品

Wijmo 5

詳細

FlexGridは、パフォーマンス向上のために表示範囲内のDOM要素のみを作成して、スクロール時にセルのDOM要素を再利用します。

そのため、itemFormatterプロパティやformatItemイベントでセルのスタイルを変更すると、グリッドをスクロールした際に、スタイルを変更したセルが再利用され、その結果、意図しないセルのスタイルが変更されます。

itemFormatterやformatItemでセルのスタイルを変更する場合は、変更対象以外のセルのスタイルを初期化する必要があります。

◎サンプルコード
flex.itemFormatter = function(panel, r, c, cell) {
 // セルのスタイルをリセットします。
 var s = cell.style;
 s.color = '';
 s.backgroundColor = '';

 // 指定したセルのスタイルを変更します。
 ...
}