Flex:更新datagrid dataProvider导致datagrid';s visible属性设置为TRUE

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"

我在Flex4的datagrid上注意到了这种行为,我将网格的visible设置为FALSE。当我更新网格的dataProvider数据(例如更新集合中实体的属性)时,网格将再次可见


这是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可见性没有改变,因此代码中显然存在一些错误。 你能发一些代码吗