2009-08-31 3 views
2

Я пытаюсь создать динамический datagrid в Flex. Данные вернутся хорошо, и я могу добавить заголовки столбцов. Мне нужно сделать это так, поскольку имена столбцов являются динамическими и поступают из базы данных mysql.Как создать динамический flex datagrid

Может ли кто-нибудь помочь мне получить значения из re.result.resultSet.results [j] .notes в полях данных?

<mx:Script> 
    <![CDATA[ 

      import mx.rpc.events.FaultEvent; 
      import mx.rpc.events.ResultEvent; 
      import mx.controls.Alert; 
      import mx.controls.dataGridClasses.DataGridColumn; 


      public function faultHandler(event:FaultEvent):void { 
       // The following statements must be inside a function. 

       text.text = event.message.toString(); 
      } 
      public function resultHandler(re:ResultEvent):void { 
       // The following statements must be inside a function. 

       text.text = "blah"; 
       text.text += re.result.resultSet.columnList[0].key.toString(); 


       for (var i:int = 0; i< re.result.resultSet.columnList.length; i++) { 
        text.text += re.result.resultSet.columnList[i].key.toString(); 

       } 
       var cols:Array = new Array(); 
       var dataProv:Array = new Array(); 
       for (var j:int = 0; j< re.result.resultSet.columnList.length; j++) { 
        text.text += re.result.resultSet.results[j].notes.toString(); 
        var column:DataGridColumn = new DataGridColumn; 
        column.headerText= re.result.resultSet.results[j].label.toString(); 
        column.dataField = re.result.resultSet.results[j].notes.toString(); 
        cols.push(column); 


      } 
      myGrid.columns = cols; 


      } 



    ]]></mx:Script> 
    <mx:TextArea id="text" x="74" y="47" width="551" height="350"/> 
    <mx:Button x="647" y="46" label="Button" click ="{myservice.getWorkSheets()}"/> 
    <mx:DataGrid id="myGrid" x="74" y="424" width="551"/> 

</mx:Application> 

спасибо,

+0

Можете ли вы объяснить немного more.I думаю, что этот код должен работать и добавить столбец во время выполнения, что является проблемой вы столкнулись –

+0

Заголовки столбцов появляются в сетке данных, но все клетки пусты. – codecowboy

+0

Эй, извините за замешательство. Я вижу, что вы пытаетесь сделать сейчас, и мой код делал это по-другому. Надеюсь, по крайней мере бит dataField очистит что-то. – ryanday

ответ

1

Там нет DataProvider набор для DataGrid. Вы определяете столбцы, но не данные строки.

-1

Думаю, вам нужно его проверить после , вы нажимаете колонны.

образец:

myGrid.validateNow();