ObjectProxyでBindingのwarningを消す

データサービスなんかで拾ってきたデータに削除フラグのプロパティをつけたりしたいがために、
データグリッドなどで、Bindingする項目をObjectで作成することってよくありますよね。

list = new ArrayCollection();
for each(var row:FxDsInfoBean in e.result){
var item:Object = {
 dsNo:row.dsNo,
 dsName:row.dsName,
 template:row.template,
 delFlg:false,
 rawData:row
};
list.addItem(item);
}
grid.dataProvider = list;

でも、これだと、各プロパティがBindableじゃないので、実行するとwarningが出ます。
マニュアルをみても「重要ではありません」などと書いてあって、釈然としない…。
かといって、ちゃんとBindableなクラスとして定義するのもアホらしい。
配列データじゃなければModelタグで定義しちゃう手もあるけど…。

そんなときは、何も考えずにObjectProxyでラップしちゃいましょう。

list = new ArrayCollection();
for each(var row:FxDsInfoBean in e.result){
var item:ObjectProxy = new ObjectProxy({
 dsNo:row.dsNo,
 dsName:row.dsName,
 template:row.template,
 delFlg:false,
 rawData:row
});
list.addItem(item);
}
grid.dataProvider = list;

ラップされたオブジェクト内のすべてのプロパティについてpropertyChangeイベントを出すようにしてくれるので、結果としてBindableになります。
もっと早くに知っておけば、前の仕事のコード量がかなり減ったのに…orz