Flex AdvancedDataGrid-Art
Ich habe eine AdvancedDataGrid-wird bevölkert von Kundendaten. Jeder Kunde hat 3 monatliche Produkte(1, 3, 6), und auch ein passed
Feld die Angabe, ob der Kunde qualifiziert sich für die monatlichen Produkte.
Nun das Gitter Sortierung die Kundendaten alphabetisch, das ist eine gute Sache, aber es ist nicht die Sortierung der monatlichen Produkte, die nicht so gute Sache.
DataProvider sieht ungefähr so aus. (Ich bin der Gruppierung von Funder.)
{Funder:"Customer1", Product:"1 Month", Passed:"False"},
{Funder:"Customer1", Product:"3 Month", Passed:"True"},
{Funder:"Customer1", Product:"6 Month", Passed:"True"},
{Funder:"Customer2", Product:"1 Month", Passed:"False"},
{Funder:"Customer2", Product:"3 Month", Passed:"False"},
{Funder:"Customer2", Product:"6 Month", Passed:"False"}
Dann Ergebnisse, die ich im Netz sieht ungefähr so aus
----------------------------------------
| Funder & Products | Product Passed |
----------------------------------------
| Customer1 | |
| 6 Month | True |
| 3 Month | True |
| 1 Month | False |
| Customer2 | |
| 3 Month | False |
| 6 Month | False |
| 1 Month | False |
----------------------------------------
Jede Hilfe zu bekommen die Produkte so sortiert, wie gut?
EDIT:
Hier ist der code, den ich verwenden für die Netz
<mx:AdvancedDataGrid id="myADG"
width="100%" height="100%"
initialize="gc.refresh();"
folderClosedIcon="{null}"
folderOpenIcon="{null}"
defaultLeafIcon="{null}">
<mx:dataProvider>
<mx:GroupingCollection id="gc" source="{mCustomerData}">
<mx:grouping>
<mx:Grouping>
<mx:GroupingField name="Funder"/>
</mx:Grouping>
</mx:grouping>
</mx:GroupingCollection>
</mx:dataProvider>
<mx:columns>
<mx:AdvancedDataGridColumn dataField="Product"
headerText="Funder & Products"/>
<mx:AdvancedDataGridColumn dataField="Passed"
headerText="Product Passed"/>
<mx:AdvancedDataGridColumn dataField="Passed"
headerText="Product Failed"/>
</mx:columns>
</mx:AdvancedDataGrid>
Du musst angemeldet sein, um einen Kommentar abzugeben.
Okay, also ich habe eine Lösung gefunden, die funktioniert für mich. Hier folgt.
Grundsätzlich auf
creationComplete
ich nenne diesortData
- Funktion, die Folgendes macht.Hoffnung zu sehen, ein anderer Weg, dies zu tun, da kann ich nicht denken, dass dies der einzige Weg, es zu tun
Für alle Absichten und Zwecke, ein Gitter Sortieren nicht Daten. Es zeigt nur die Daten, die Sie in der angegebenen Reihenfolge. Der dataProvider muss sortiert werden, indem Sie und das raster wird entsprechend aktualisiert.
Wenn Sie Sortieren, indem Sie auf die Spaltenüberschriften, dann werfen Sie einen Blick auf die sortCompareFunction auf die AdvancedDataGridColumn
Wenn Sie eine ArrayCollection oder XMLListCollection konvertiert, dann nehmen Sie einen Blick auf diese Dokumentation, wie zu Sortieren.
Genau das gleiche problem hatte und eine Lösung gefunden, die auf der Adobe-website:
Zum Sortieren von Elementen innerhalb der Gruppe im AdvancedDataGrid
Schreiben Sie eine Vergleichsfunktion, und verwenden Sie es auf die Gruppierung Feld.