2011-03-18 2 views
0

에서 선택한 행의 XML 속성을 받고, 이는 XML 데이터의 예는 내가 사용 : 사용자가 다음 셀을 클릭가 AS : 나는 XML 데이터로 AdvancedDataGrid를 채우는 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> 

후, 나는 것 클릭 한 노드의 속성을 검색하는 것과 같습니다. 사용자가 ID 3 항목의 열 (1)를 클릭하면

따라서, 예를 들어, 나는이 XML 노드의 속성에 액세스해야합니다

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

그래서 나는이의 ID를 찾을 수 있습니다 항목 (이 경우 3).

이 ID는 AdvancedDataGrid에 표시되지 않습니다.

답변

2

나는 이것이 당신이 원하는 것이지 여기에 간다. 당신이 AdvancedDataGrid의 항목을 클릭 할 때마다

[email protected] 

에서, "인 itemClick"이벤트가 전달됩니다

<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" /> 

유지하기 위해 중요한 것은이 라인입니다. 이 이벤트에는 itemRenderer에 대한 참조가 포함되어 있으며 차례로 데이터에 대한 참조가 해당 행에 표시됩니다. 이 경우 id 속성에 액세스하려면 [email protected]을 사용해야합니다. 당신이 원하는 경우

, 당신은 같은 것을 가질 수 있습니다

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

을 다음 PARAM으로 "클릭"XML 노드를받을 것 doSomething 방법을 만들 수 있습니다.

+0

그게 정확히 내가 뭘 찾고 있었는지, 그게 간단하지 않다는 걸 깨닫지 못 했어 .. 고마워! – Pmarcoen

+0

하지만 속성별로 그룹화하는 방법은 무엇입니까? 폴더라고합시다. –

관련 문제