我的数据网格中的复选框出现问题。它引入了一个dataprovider(xml文件),我用它来设置自定义itemrenderer的复选框选择。然后,我在更新时将datagrid保存回xml文件。
单击此复选框,保存到xml正常..我知道这一点,因为当我重新加载应用程序时,它显示正确的结果。但是,当我只刷新数据提供者而不关闭flex应用程序时,复选框将恢复为更改前的状态。
所以这是自定义复选框:
<?xml version="1.0" encoding="utf-8"?>
<mx:CheckBox xmlns:mx="http://www.adobe.com/2006/mxml" >
<mx:Script>
<![CDATA[
override public function set data( value:Object ):void{
super.data = value;
trace("data = " + data.@hidden);
if(data.@hidden == "true")
{
this.selected = true;
}else
{
this.selected = false;
}
}
]]>
</mx:Script>
</mx:CheckBox>
这就是我所说的:
<mx:DataGridColumn width="75" headerText="hide?" dataField="@hidden">
<mx:itemRenderer>
<mx:Component>
<local:itemRendCheckBox />
</mx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
我想现在发生的事情是除了自定义itemrenderer之外一切都在更新。我可以做些什么来告诉复选框使用dataprovider刷新?
答案 0 :(得分:0)
我想我想通了,我正在调用datagrid来刷新,这与刷新实际的数据提供者不同。因此,我调用了dataProv.dataprovider.refresh();而不是myDataGrid.send();