Я не знаю, если это то, что вы хотите, но здесь это идет.
<controls:AdvancedDataGrid dataProvider="{ new HierarchicalData(list) }"
itemClick="{ idLabel.text = event.itemRenderer.data.@id }">
<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" />
Важно сохранить следующую строку:
event.itemRenderer.data.@id
Каждый раз, когда вы щелкаете элемент AdvancedDataGrid, отправляется событие itemClick. Это событие содержит ссылку на itemRenderer , который в свою очередь содержит ссылку на данные , отображаемые в этой строке. В этом случае для доступа к атрибуту id вам просто нужно использовать data.@id
.
Если вы хотите, вы можете получить что-то вроде этого:
<controls:AdvancedDataGrid dataProvider="{ new HierarchicalData(list) }"
itemClick="{ doSomething(event.itemRenderer.data) }">
, а затем создайте метод doSomething
, который получит «щелкающий» узел XML в качестве параметра.