如何在itemrenderer中重新加载复选框

时间:2010-02-09 20:17:17

标签: flex

我的数据网格中的复选框出现问题。它引入了一个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刷新?

1 个答案:

答案 0 :(得分:0)

我想我想通了,我正在调用datagrid来刷新,这与刷新实际的数据提供者不同。因此,我调用了dataProv.dataprovider.refresh();而不是myDataGrid.send();