2

これは、DataGrid の専門家にとっては簡単なことかもしれません。行内から動的に DataGrid に行を追加する例に従います

http://www.switchonthecode.com/tutorials/adding-dynamic-rows-to-flex-datagrid

私が習得しようとしている微調整は、2 つの TextInputs と [OK] ボタンを備えたフォームであるカスタム itemEditor を持つことです。私の人生では、destroyItemEditor を呼び出す前に何らかの処理を行う DataGrid の itemEditEnd イベントをトリガーするボタンを取得できません。イベントを自分で直接ディスパッチしようとしましたが、DataGrid の updateDisplayList で、editedItemPosition が null (editedItemPosition.rowIndex) であるという奇妙なエラーが発生しました。何か案は?

4

2 に答える 2

3

私は「当たり前」の答えを見つけました。基本的に、itemEditor 内で listData.owner を使用して DataGrid への参照を取得し、DataGrid の editItemPosition と selectedIndex を設定します。このようにして、コンポーネントは itemEditor のクリーンアップについて心配することができます。

var grid:DataGrid = listData.owner as DataGrid;
grid.editedItemPosition = null;
grid.selectedIndex = -1;
于 2010-09-29T13:44:46.530 に答える
0

itemEditEndアイテムエディタの外側をクリックするとトリガーされます。自分でディスパッチする場合は、ディスパッチする前rowIndex に、イベントのプロパティを適切な値に設定する必要があります。

于 2010-09-29T07:33:16.300 に答える