2016-03-22 4 views
0

Verfügt Wijmo über Funktionen zum Hinzufügen zusätzlicher Sortierstufen in Fällen, in denen die ersten Suchkriterien übereinstimmen? Diese sekundäre Suche wird nur verwendet, wenn die primären Kriterien übereinstimmen.Sortierung mehrerer Ebenen/Kriterien mit wijmo ICollectionView

Zum Beispiel, wenn meine zwei Spalten waren Staat und Stadt, und ich wollte die Staaten in aufsteigender Reihenfolge sortieren, aber die Städte in diesen Staaten in absteigender Reihenfolge. So könnte meine Liste etwas wie

NV lesen Las Vegas

NV | Ely

NY | Saratoga

NY | New York City

NY | Albany

Antwort

1

Die Sortierung wird auf Datenquellenebene von der CollectionView-Klasse durchgeführt. Die CollectionView verfügt über eine "sortDescriptors" -Eigenschaft, bei der es sich um ein Array handelt. Sie können so viele Sortierstufen hinzufügen, wie Sie möchten. Beispiel:

// raw data 
var data = [ 
    { state: 'NV', town: 'Las Vegas' }, 
    { state: 'NY', town: 'Saratoga' }, 
    // ... more data ... 
]; 

// CollectionView 
var view = new wijmo.collections.CollectionView(data); 

// sort by state, then by town 
var sd = view.sortDescriptions; 
sd.push(new wijmo.collections.SortDescription('state', true)); 
sd.push(new wijmo.collections.SortDescription('town', true)); 

Jetzt können Sie das Objekt "view" als Datenquelle des Rasters verwenden.

Beachten Sie, dass das FlexGrid, wenn Sie kein CollectionView verwenden, eines automatisch für die interne Verwendung erstellt (damit es Daten sortieren kann). Diese interne CollectionView wird über die Eigenschaft "collectionView" des Rasters verfügbar gemacht. So können Sie auch Folgendes tun:

// bind grid to raw data (creates internal CollectionView automatically) 
grid.itemsSource = data; 

// sort the grid's CollectionView 
var sd = grid.collectionView.sortDescriptions; 
sd.push(new wijmo.collections.SortDescriptor('state', true)); 
sd.push(new wijmo.collections.SortDescriptor('town', true)); 

Ich hoffe, das hilft. Weitere Informationen über die Klasse Collection, überprüfen Sie bitte diesen Link:

https://wijmo.com/5/docs/topic/wijmo.collections.CollectionView.Class.html

Ich hoffe, das hilft.