バインディング機能を使用するときは、以下の点に注意してください。
myGrid.getItemAt(itemIndex).myField = 1;
次のコードをお勧めします。
myGrid.dataProvider.editField(itemIndex, "myField", 1);
場合によっては、データバインディングが正常に機能せず、デバッグが必要になることがあります。データバインディングの問題の解決法を以下に示します。
バインディングが開始時に正常に動作していると、警告が表示されても問題がないと判断しがちですが、警告は重要です。
getter プロパティまたは setter プロパティの [Bindable] が存在しないという警告が表示された場合、バインディングが開始時に正常に行われていても、プロパティに対するそれ以降の変更は認識されません。
静的変数またはビルトインプロパティに関する警告が表示された場合、変更は認識されません。
バインディングのソースがさらに大きな処理の一部である場合には、ソースを割り当てていないことを忘れがちです。
Flex のコマンドラインデバッガ(fdb)または Adobe® Flex™ Builder™ のデバッガを使用して、dispatchEvent() メソッドが呼び出されているかどうかを確認できます。また、そのクラスに通常のイベントリスナーを追加して、確実に呼び出されるようにすることもできます。イベントリスナーをタグ属性として追加するには、[Event('myEvent')] メタデータをクラス定義の先頭に配置するか、MXML の <mx:Metadata> タグ内に配置する必要があります。
そして、割り当てられる値を指定して、trace や alert などのデバッグコードを setter に配置することができます。この方法により、バインディング自体の正常な動作が保証されます。setter が適切な情報で呼び出されていれば、失敗した場合にバインディング先に問題があると判断できるので、そのバインディング先からデバッグを開始できます。
このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート