2009-07-13 1 views
0

У меня есть AvancedDataGrid, который подается с данными, как это:Flex: AvancedDataGrid ..Group By?

<stat associate="Henry Smith" date="07/08/09" amount="1"/> 
<stat associate="John Doe" date="07/08/09" amount="1"/> 
<stat associate="John Doe" date="07/09/09" amount="2"/> 

Я хочу, чтобы это было так, что при нажатии на дату в столбце даты, ассоциированный и сумма столбец только показать эту дату. Как я могу это сделать?

Вот мой AvancedDataGrid:

<mx:AdvancedDataGrid 
    id="wideGrid" 
    width="100%" 
    height="100%" 
    styleName="dataGrid" 
    dataProvider="{_statsXMLList}" 
> 
    <mx:columns> 
     <mx:AdvancedDataGridColumn id="wideGridCol1" 
       dataField="@associate" 
       headerText="Name" 
       width="110"/> 
     <mx:AdvancedDataGridColumn id="wideGridCol2" 
       dataField="@amount" 
       headerText="Amount" 
       width="50" /> 
     <mx:AdvancedDataGridColumn id="wideGridCol3" 
       dataField="@date" 
       headerText="Date" 
       width="60" /> 
    </mx:columns> 
</mx:AdvancedDataGrid> 

ответ

0

Вам нужно написать функцию фильтра:

filterFunction:Function 
A function that the view will use to eliminate items that do not match the function's criteria. A filterFunction is expected to have the following signature: 

f(item:Object):Boolean 
where the return value is true if the specified item should remain in the view. 

и применить это к вашему XMLListCollection. Функция должна фильтроваться на основе значения даты, хранящегося где-то.

Когда пользователь нажимает на строку, вы устанавливаете это значение даты, а затем вызываете обновление на свой XMLListCollection. Поскольку вы привязали коллекцию к вашему datagrid, таблица должна обновиться.

Это то, что вы пытаетесь сделать, или что-то особенное с группировкой?