Flex:更新datagrid dataProvider导致datagrid';s visible属性设置为TRUE
我在Flex4的datagrid上注意到了这种行为,我将网格的visible设置为FALSE。当我更新网格的dataProvider数据(例如更新集合中实体的属性)时,网格将再次可见Flex:更新datagrid dataProvider导致datagrid';s visible属性设置为TRUE,datagrid,flex4,Datagrid,Flex4,我在Flex4的datagrid上注意到了这种行为,我将网格的visible设置为FALSE。当我更新网格的dataProvider数据(例如更新集合中实体的属性)时,网格将再次可见 这是Flex中datagird的默认行为吗?如何禁用它 我刚刚编写了一个快速示例: <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
这是Flex中datagird的默认行为吗?如何禁用它 我刚刚编写了一个快速示例:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"
creationComplete="application1_creationCompleteHandler(event)"
>
<fx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.events.FlexEvent;
[Bindable]
public var myData:ArrayCollection = new ArrayCollection;
protected function application1_creationCompleteHandler(event:FlexEvent):void
{
var u:User;
for (var i:int=0; i < 5; i++)
{
u = new User();
u.name = "custom "+int(Math.random()*10);
u.phone = "0987 "+int(Math.random()*10);
myData.addItem(u);
}
}
protected function button1_clickHandler(event:MouseEvent):void
{
myData.getItemAt(0).name = "test";
}
]]>
</fx:Script>
<s:layout>
<s:VerticalLayout />
</s:layout>
<mx:DataGrid dataProvider="{myData}" visible="false">
<mx:columns>
<mx:DataGridColumn dataField="name" />
<mx:DataGridColumn dataField="phone" />
</mx:columns>
</mx:DataGrid>
<s:Button label="Change data" click="button1_clickHandler(event)" />
</s:Application>
而且DataGrid可见性没有改变,因此代码中显然存在一些错误。
你能发一些代码吗