AdvancedDataGridColumnは、labelFunction中でdataFieldの値を評価した結果で
表示スタイルを設定すると、他の要因でスタイルが変化されたときに打ち消される。
当たり前といえばそうなんだけども、はまったのでメモ。
たとえばGrid上のマウスオーバー等で色が変わったあとマウスアウトすると
スタイルが元に戻る。
1.初期状態
2. IDが赤色の列でマウスオーバー
3.マウスアウト
private function idLabelFunction(item:Object, col:AdvancedDataGridColumn):String{
var id:String = item.id as String;
if(id=="1"){
col.setStyle("color", 0xFF0000);
} else if (id=="2"){
col.setStyle("color", 0x00FF00);
} else {
col.setStyle("color", 0x0000FF);
}
return item.id;
}
]]>
</fx:Script>
<fx:Script source="scripts/testFlash.as" />
<s:VGroup>
<mx:AdvancedDataGrid id="data" designViewDataType="tree" dataProvider="{contents}"
sortExpertMode="true">
<mx:columns>
<mx:AdvancedDataGridColumn headerText="ID" dataField="id" draggable="true" labelFunction="idLabelFunction"/>
<mx:AdvancedDataGridColumn headerText="Name" dataField="name" color="0x0000FF"/>
<mx:AdvancedDataGridColumn headerText="City" dataField="city" labelFunction="cityLabelFunction"/>
</mx:columns>
</mx:AdvancedDataGrid>
0 件のコメント:
コメントを投稿