2011-01-28 50 views

回答

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> 

而且DataGrid中知名度不被修改,所以显然是错误的东西在你的代码。 你能发表一些你的代码吗?

相关问题