2009-07-13 10 views
0

J'ai un AvancedDataGrid qui est alimenté avec des données comme ceci: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"/> 

Je veux que ce soit de sorte que lorsque vous cliquez sur une date dans la colonne de date, la colonne associée et le montant ne montrent que cette date. Comment puis je faire ça?

Voici mon 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> 

Répondre

0

Vous devez écrire une fonction de filtre:

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. 

Et l'appliquer à votre XMLListCollection. La fonction doit filtrer en fonction d'une valeur de date stockée quelque part.

Lorsque l'utilisateur clique sur une ligne, vous définissez cette valeur de date, puis appelez une actualisation sur votre XMLListCollection. Puisque vous avez lié la collection à votre grille de données, la table doit être mise à jour.

Est-ce ce que vous essayez de faire, ou quelque chose de spécial avec le regroupement?