Gibt es eine Möglichkeit, die Reihenfolge der Gruppierung in einem Kendo UI-Gitter zu steuern? Es gibt eine Gruppe, die ich vor allen anderen Gruppen sehen möchte, aber es scheint, dass Kendo UI Grid die Gruppen alphabetisch sortiert. Ich weiß, dass das Hinzufügen eines Platzes zum Gruppennamen funktioniert, aber das scheint sehr hackisch zu sein.
Danke Leo
Es gibt derzeit keine Möglichkeit, eine Gruppierung nach etwas anderem als dem Feld der Gruppe zu sortieren. Eine Möglichkeit, Gruppen wie Telerik in ihren Nicht-Kendo-Grids zu sortieren, ist momentan meine größte Feature-Anfrage für sie. Also stecken wir fest, Hacks für jetzt zu verwenden.
Ein Hack, der für mich funktioniert, besteht darin, das Sortierfeld und das Anzeigefeld zu einer neuen Stringspalte zu kombinieren, die den Sortierfeldbereich innerhalb einer versteckten Spanne verbirgt. Dies geschieht auf der Datenquellenseite (für mich in SQL). Die neue Spalte wird dann als Zeichenfolge sortiert, auch wenn das Sortierfeld eine Zahl ist. In manchen Fällen müssen Sie also entsprechend anpassen.
Zum Beispiel, wenn meine Daten waren:
%Vor%Dann kann ich nach dem Feld Rangname anstelle des Feldes Name gruppieren. Es wird das Feld Name im Gruppenkopf angezeigt, aber nach dem Feld Rang sortiert. In diesem Fall wird Bob als erste Gruppe angezeigt, obwohl Alice zuerst alphabetisch war. Dies funktioniert ähnlich wie der von Ihnen erwähnte Abstand.
Kendos Gruppierung sortiert alle Elemente im Array nach einem gegebenen Feld (z. B. fooBar
) und iteriert dann die sortierten Elemente. Kurz gesagt, mit Pseudocode:
Da das sortierte Array die Gruppierung durchführen muss, ist es schwierig, die Sortierung zu ändern. Ich habe Code erstellt, um die interne Funktion groupBy()
zu überschreiben, was mir erlaubt, die gruppierten Ergebnisse zu sortieren, aber ich mag:
Rufen Sie overrideKendoGroupBy()
irgendwann nach dem Laden Ihrer Seite auf. Jetzt implementieren Sie einfach eine SortYourData()
Funktion, wobei q.data
ein Array von Gruppierungen ist und descriptor.dir
ist "asc"
oder "desc"
. q.data[n]
hat ein items
-Array, das die Elemente aus Ihrer ursprünglichen Datenquelle enthält, die in der n
-ten Gruppierung enthalten sind.
Hinweis: Diese Lösung funktioniert nur, wenn Sie kein Paging verwenden. Die Seiten werden aufgebrochen, bevor die Gruppierung angewendet wird. Daher sind alle Wetten deaktiviert, wenn Ihre Daten mehrere Seiten umfassen.
Benutzerdefinierte Sortierrichtung, wenn die Gruppierung nicht vom Grid unterstützt wird - die Gruppen werden auf die gleiche Weise wie die Spalte sortiert (bei Verwendung der Client-Sortierung), wenn keine Gruppierung vorhanden ist. Die Sortierrichtung entspricht der Standardsortierung in JavaScript.
Sie können eine Abfrage hinzufügen, nachdem Sie die Datenquelle definiert haben und dies scheint zu funktionieren
%Vor%Wo verwandt ist der Name der Datenquelle
Verwenden Sie Spalten, um die Reihenfolge der Spalten anzugeben, sobald Sie Ihre Daten wie
haben %Vor%Tags und Links html c# kendo-ui kendo-grid