Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache flex 如何在itemrenderer中重新加载复选框_Apache Flex - Fatal编程技术网

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

Apache flex 如何在itemrenderer中重新加载复选框,apache-flex,Apache Flex,我的datagrid中的复选框有问题。它拉入一个数据提供者(xml文件),我用它来设置带有自定义itemrenderer的复选框选择。然后,我将更新后的数据网格保存回xml文件 单击该复选框后,将保存为xml格式。。我知道这一点,因为当我重新加载应用程序时,它会显示正确的结果。然而,当我只是刷新dataprovider而没有关闭flex应用程序时,复选框就会恢复到更改之前的状态 下面是自定义复选框: <?xml version="1.0" encoding="utf-8"?> <

我的datagrid中的复选框有问题。它拉入一个数据提供者(xml文件),我用它来设置带有自定义itemrenderer的复选框选择。然后,我将更新后的数据网格保存回xml文件

单击该复选框后,将保存为xml格式。。我知道这一点,因为当我重新加载应用程序时,它会显示正确的结果。然而,当我只是刷新dataprovider而没有关闭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>


我想现在发生的是,除了custome itemrenderer之外,所有的东西都在更新。我可以告诉复选框使用数据提供程序刷新吗?

我想我已经弄明白了,我正在调用datagrid进行刷新,这与刷新实际的数据提供程序不同。因此,我没有调用myDataGrid.send(),而是调用了dataProv.dataprovider.refresh()

您是否在dataProvider变量上使用[Bindable]?展示更多的代码可能也会有帮助。作为一个补充,如果实际上不需要的话,为什么人们会觉得需要使用它呢?你会推荐什么,我还有很多东西要学习。我这样做基本上是因为我的另一种方式不起作用。