2011-01-28 5 views
0

Flex 4의 DataGrid에서이 동작을 감지합니다. 여기에서 gird가 FALSE로 표시되도록 설정합니다. 그리드의 dataProvider 데이터를 업데이트 할 때, 예를 들어 컬렉션에서 엔티티의 속성을 업데이트하면 그리드가 다시 VISIBLE이됩니다.Flex : datagrid dataProvider를 업데이트하면 DataGrid의 visible 속성이 TRUE로 설정됩니다.

이것은 Flex에서의 데이터 막의 기본 동작입니까? 어떻게 비활성화합니까?

답변

1

나는 그냥 빨리 샘플 코드했습니다

<?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> 

을 그리고 당신의 코드에서 뭔가 문제가 분명히 존재하므로 데이터 그리드의 가시성은 변경되지 않습니다. 일부 코드를 게시 할 수 있습니까?

관련 문제