2009-07-13 12 views
0
<local:CheckBoxDataGrid id="dg" 
        allowMultipleSelection="true" x="118" y="151" width="557"> 
     <local:columns> 
      <mx:DataGridColumn dataField="firstName" headerText="Select" width="50" sortable="false" itemRenderer="CheckBoxRenderer" > 
      </mx:DataGridColumn> 
      <mx:DataGridColumn id="userID" headerText="User ID" /> 
      <mx:DataGridColumn dataField="userlevel" editable="true" headerText="Role" /> 
      <mx:DataGridColumn id="email" headerText="Email" /> 
     </local:columns> 
    </local:CheckBoxDataGrid> 

private function getUs(data:Object):void{ 
     var appSes:ArrayCollection = new ArrayCollection(data.result); 
      dg.dataProvider = appSes; 
      } 

ArrayCollectionとして値を取得していますが、データグリッドにバインドすると、値が取得されません。ただし、PHPから返されたオブジェクトは問題ありません。フレックスの列のデータ

答えて

1

デバッグを試しましたか?私は、var appSesを設定した直後にブレークポイントでデバッグを実行し、その変数を調べてArrayCollectionがeサービス結果データで適切に作成されていることを確認することをお勧めします。

ArrayCollectionが正しく作成されている場合は、dataFieldの名前がArrayCollectionのデータと正しく一致するようにしてください。大文字と小文字が区別されます。 DataGridからすべての列を削除してみます。あなたのArrayCollectionが有効な場合、DataGridが自動的に列ヘッダーとしてのArrayCollectionにデータフィールド名を持つ列を作成します:助け

ArrayCollection: 
    {firstName: "Joe", userID: 1, userlevel: 3, email: "[email protected]"}, 
    {firstName: "Mary", userID: 2, userlevel: 4, email: "[email protected]"}, 
    {firstName: "Bob", userID: 3, userlevel: 2, email: "[email protected]"} 

Will display as the following if you do not specify columns: 

firstName   userId  userLevel email 
------------------- ------------- ------------ ---------------------------- 
Joe     1    3   [email protected] 
Mary    2    4   [email protected] 
Bob     3    2   [email protected] 

希望を!

+0

問題ありません!助けてうれしい! –

0

私が最初にお勧めするのは、のPHPで読み込むことなくテストすることです。データをローカルのArrayCollectionにコピーし、それを基にして割り当てます。

また、(これは、時にはそれがにはなっていないという事実にもかかわらず、助け)dataProviderプロパティを初期化することもできます。

<local:CheckBoxDataGrid id="dg" dataProvider="{ myArrayCollection }" 

...

[Bindable] 
private var myArrayCollection:ArrayCollection 

..

private function getUs(data:Object):void 
{ 
    myArrayCollection = new ArrayCollection(data.result); 
    trace(myArrayCollection); // Just a sanity check. 

これが役立つかどうかを教えてください。

関連する問題