2009-10-30 81 views
0

將arraycollection傳遞給advance datagrid的問題。我喜歡`如何將arraycollection傳遞給使用HierarchicalData的Advancedatagrid?

private var groupList:ArrayCollection = new ArrayCollection([ 
{Country:'India', children:[ 

    {Country:'Series1', children:[ 
                               {Matches:'India Test series 1',isEnable:false,id:1,isSelected:true}, 
                               {Matches:'India Test series 2',isEnable:false,id:2,isSelected:true}, 
                               {Matches:'India Test series 3',isEnable:false,id:3,isSelected:true}]}, 
             {Country:'Series2', children:[ 
                               {Matches:'Australia Test series 1',isEnable:false,id:25,isSelected:true}, 
                               {Matches:'Australia Test series 2',isEnable:false,id:26,isSelected:true}, 
                               {Matches:'Australia Test series 3',isEnable:false,id:27,isSelected:true}]} 

    ]}, 
{Country:'Austrila', children:[ 

    {Country:'Series1', children:[ 
                               {Matches:'Australia Test series 1',isEnable:false,id:46,isSelected:true}, 
                               {Matches:'Australia Test series 2',isEnable:false,id:47,isSelected:true}, 
                               {Matches:'Australia Test series 3',isEnable:false,id:48,isSelected:true}]}, 
{Country:'Series2', children:[ 
                               {Matches:'Australia Test series 1',isEnable:false,id:49,isSelected:true}, 
                               {Matches:'Australia Test series 2',isEnable:false,id:50,isSelected:true}, 
                               {Matches:'Australia Test series 3',isEnable:false,id:51,isSelected:true}]}, 
{Country:'Series3', children:[ 
                               {Matches:'Australia Test series 1',isEnable:false,id:52,isSelected:true}, 
                               {Matches:'Australia Test series 2',isEnable:false,id:53,isSelected:true}, 
                               {Matches:'Australia Test series 3',isEnable:false,id:54,isSelected:true}]} 

]} 

通過AD在dataProvider="{new HierarchicalData(groupList)}" ArrayCollection的結構它的正常工作。這是秀樹和兒童的兩個菜單基於國家。但我試圖動態XML轉換下面的代碼的ArrayCollection由

private function convertXmlToArrayCollection(file:String):ArrayCollection 
    { 
    var xml:XMLDocument = new XMLDocument(file); 



    //var decoder:SimpleXMLDecoder = new SimpleXMLDecoder(); 


    var decoder1:SimpleXMLDecoder = new SimpleXMLDecoder(true); 


    var data1:Object = decoder1.decodeXML(xml); 

    var array1:Array = ArrayUtil.toArray(data1); 

    return new ArrayCollection(array1); 
    } 

我的XML結構

<Country Country="India "> 
    <Country Country="Series "> 
     <Matches Matches="BIndependiente-Colon" id="701536" isEnable="false" isSelected="true" startDate="2009-10-29 01:30:00" EndDate="2009-10-29 01:30:00"/> 
     <Matches Matches="Boca Juniors-Chacarita Juniors" id="701633" isEnable="false" isSelected="true" startDate="2009-10-29 19:00:00" EndDate=""/> 
    </Country> 
    </Country> 

    <Country Country="Australia"> 
    <Country Country="series"> 
     <Matches Matches="BIndependiente-Colon" id="701536" isEnable="false" isSelected="true" startDate="2009-10-29 01:30:00" EndDate="2009-10-29 01:30:00"/> 
     <Matches Matches="Boca Juniors-Chacarita Juniors" id="701633" isEnable="false" isSelected="true" startDate="2009-10-29 19:00:00" EndDate=""/> 
    </Country> 
    </Country> 

所以,如果我想的這個格式轉換xml代碼到arryacollection,它轉換了數組集合,但是什麼時候我會傳遞給高級數據網格它不顯示任何結果。我錯了什麼?

groupList1= convertXmlToArrayCollection(string1); 
Alert.show(groupList1[0].Country[0].Matches[0].id.toString());// output is =701536 

我在哪裏弄錯了? Plz善良的任何人引用我,我會改變什麼?

回答

0

你讓groupList1 [Bindable]?當你將它設置爲datagrids數據提供者時,它是通過綁定還是僅僅是簡單的賦值?

您還試過在數據網格上調用'invalidateDisplayList()'

另一個可以嘗試的選擇是直接將xml設置爲數據提供者(不要轉換爲ArrayCollection)。

希望可以幫到

相關問題