架構為db撈資料出來丟給arraycollection
然後datagrid的dataprovider是綁在那個arraycollection上面
在datagrid中有幾個欄位有建itemrenderer
內容物就只是label
該label顯示的文字則是自訂一個function去判定
配合該欄位的值(bool)來顯示 是/否
同時我在label上面建了一個mouseclick的事件
點擊之後就會改變它的bool值
如果是從db取得的資料...
在我click之後都會改變label的顯示內容
但是當我動態新增資料時
click之後不會改變顯示內容...
but...我又再多加一筆資料時
剛剛那筆不會動的新資料就會變動成它應該顯示的內容
而..我再繼續去回點它...依然不為所動
不知道有人有遇過相同的情況嗎??
ac裡面的資料源有變更
但是label的text沒有去做更新...
下面是該區塊的code
應該不難看出要做啥...
希望有人可以幫忙解答一下....
<mx:DataGridColumn dataField="display" headerText="是否顯示">
<mx:itemRenderer>
<mx:Component>
<mx:Canvas width="100%" height="100%">
<mx:Script>
<![CDATA[
private function getLabel(bool:Boolean):String
{
if (bool)
return "是";
else
return "否";
}
]]>
</mx:Script>
<mx:Label text="{getLabel(data.display)}" mouseChildren="false"
click="data.display = !data.display"/>
</mx:Canvas>
</mx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.63.2.183