1

コマンド パターンを使用しているため、オブジェクトの状態の変更はコマンド実行内で行う必要があります。DataGrid の通常の itemeditor は、基礎となるバインドされたオブジェクトに変更を加えるだけですが、その変更をインターセプトしてコマンドを使用させる必要があります。

私はフレックスにかなり慣れていないので、これを実装する方法のアイデアを探しています。基本的な例は、「日付」フィールドを持つオブジェクトがあることです。データグリッドでは、フレックス「DateField」コンポーネントを itemeditor として使用しています。新しい日付を選択するときに、データソースを更新したくありません。新しく選択した値にアクセスして実行するコマンドに渡すことができる別のメソッドを呼び出す必要があります。どんなヒントでも大歓迎です。前もって感謝します。

4

2 に答える 2

2

DataGrid で itemEditBegin および/または itemEditEnd イベントを使用し、ハンドラーでコマンドを作成します。このページには、これらのイベントで編集操作をキャプチャする例がいくつかあります。

于 2011-03-31T01:58:27.050 に答える
1

私の意見では、あなたはこれを地獄まで設計しすぎて、使えなくなるほどで​​す。その場でデータを変更するだけのコマンドが必要なのはなぜですか? 私は Flex を 3 年間使用してきましたが、この方法で行われるのをまだ見たことがありません。コマンドが使用されるのは、サーバーから情報を受信するときだけです。

いずれにせよ、(私の推奨に反して) 本当に実装したい場合は、イベントの表示リストの上位でリッスンするコントローラーを使用してイベント バブリングを実行し、そこからコマンドをトリガーすることをお勧めします。アイテム レンダラー内から:

this.dispatchEvent(new Event('someEvent', true));

そして、表示リストの上位:

dataGrid.addEventListener('someEvent', someEventHandler);

また、ハンドラー内でコマンドを実行できます。

于 2011-03-31T01:25:44.617 に答える