2017-11-09 24 views
0

私は次のようなケースがあります:入力セル内の値が正の数に変わったとき、私は行全体をマークします。私が使用してマーキングするためag-grid:エディタセル入力変更時の行を更新

rowClassRules: {'ag-row-mark': (params) => {/*if positive return boolean*/})}, 

と私のCSSが.ag-row-mark -rowsにスタイルを適用します。

私の問題は、EditorCellの編集を停止したときにのみ、上記の関数が呼び出されることです。しかし、ユーザーがESC/ENTERを押したときだけでなく、.stopEditing()を呼び出すときでもなく、値が変更されるたびに関連する行のパラメータ更新が必要です。

だから私の唯一のオプション
  • EditorCellを使用していません。とにかくパフォーマンス上の理由からだけですが、通常のCellRenderersを<input>とすることもできますが、テーブル内で非常に多くのリスナーがアクティブになってしまいます。すべてのEditorCellモデルチェンジの
  • 編集を停止して

または私は何かが欠けています再び新しい値で同じセルの編集を開始するには?

答えて

0

結局のところ良い解決策は見つからなかったのですが、入力が変更されたときに、editorcellの中から選択したり選択しなかった行を設定するのが良い解決策でした。これにより、行の編集が終了したときだけでなく、行のイベントが即座にトリガーされます。

もちろん、通常の選択処理(行がクリックされたとき)も無効にする必要があります。これをgridOptionsで使用する場合:suppressRowClickSelection: true

0

gridOptions()でcellValueChanged()を使用できますか? 。このapiは、セル値が変更されるたびにトリガーされます。このイベントのリスナーを作成し、必要に応じて比較を行うことができます。 paramsはoldValueとnewValueを保持します。