2011-03-18 24 views
0

得到選擇的行的XML屬性我填充XML數據移動AdvancedDataGrid,這是XML數據的示例使用:然後用戶在小區上點擊AS:在AdvancedDataGrid

<list> 
    <root> 
    <item text="Folder" id="1" isBranch="true" classes="folder"> 
     <item text="SubFolder" id="2" isBranch="true" classes="folder"> 
     <item text="Item" id="3" isBranch="false" classes="item" col1="1" col2="2" /> 
     </item> 
     <item text="Folder" id="4" isBranch="true" classes="folder"> 
     <item text="Item" id="5" isBranch="false" classes="item" col1="3" col2="4"/> 
     </item> 
    </item> 
    </root> 
</list> 

後,我會喜歡檢索他點擊的節點的屬性。

因此,舉例來說,如果用戶點擊該項目的第1列ID爲3,我需要訪問這個XML節點的屬性:

<item text="Item" id="3" isBranch="false" classes="item" col1="1" col2="2" /> 

所以我可以找出這樣的ID項目(在這種情況下是3)。

請注意,此ID從不顯示在AdvancedDataGrid中。

回答

2

我不知道這是你想要的,但它在這裏。

<controls:AdvancedDataGrid dataProvider="{ new HierarchicalData(list) }" 
          itemClick="{ idLabel.text = [email protected] }"> 

    <controls:columns> 
     <!-- some sample columns --> 
     <advanceddatagridclasses:AdvancedDataGridColumn dataField="@text"/> 
     <advanceddatagridclasses:AdvancedDataGridColumn dataField="@isBranch"/> 
     <advanceddatagridclasses:AdvancedDataGridColumn dataField="@col1"/> 
     <advanceddatagridclasses:AdvancedDataGridColumn dataField="@col2"/> 
    </controls:columns> 

</controls:AdvancedDataGrid> 

<s:Label id="idLabel" /> 

保留最重要的是這一行:

[email protected] 

每當你點擊一個AdvancedDataGrid項目中,「itemClick在」事件將被分派。此事件包含對itemRenderer的引用,其中包含對在該行上顯示的數據的引用。在這種情況下,要訪問ID屬性,您只需使用[email protected]

如果你願意,你可以有這樣的事情:

<controls:AdvancedDataGrid dataProvider="{ new HierarchicalData(list) }" 
          itemClick="{ doSomething(event.itemRenderer.data) }"> 

,然後創建一個doSomething方法,將收到「點擊」 XML節點PARAM。

+0

這就是我一直在尋找的東西,沒有意識到它是那麼簡單..謝謝隊友! – Pmarcoen 2011-03-18 12:38:56

+0

但如何將它們按屬性分組?讓我們說文件夾? – 2013-05-23 03:55:40