Rallye-Raster mit benutzerdefinierter Spalten-Renderer-Sortierung
Hintergrund
Wenn ich versuche, nach einer Spalte zu sortieren, für die ich einen benutzerdefinierten Renderer verwendet habe, geschieht nichts - es ändert die Sortierung von ASC nach DESC und umgekehrt, aber die Reihenfolge der Daten ändert sich nie. Ich gehe davon aus, dass dies daran liegt, dass es keine Definition gibt, wie die mit einem benutzerdefinierten Renderer bearbeiteten Daten sortiert werden sollen. Es scheint jedoch nicht möglich zu sein, der Spalte einen Sortierer oder eine Sortierfunktion hinzuzufügen.
Tor
Ich erstelle ein Raster, das ich nach der übergeordneten Spalte sortieren möchte. Ich möchte es so sortieren, dass das übergeordnete Element direkt über einem seiner untergeordneten Elemente angezeigt wird (das übergeordnete Element ist ein Rollup und die untergeordneten Elemente sind Features).
Idee
Geben Sie für Features den Namen des übergeordneten Elements in die übergeordnete Spalte ein. Fügen Sie für Rollups den Namen von sich selbst in die übergeordnete Spalte ein und fügen Sie eine Klasse hinzu, die festgelegt wird
display: none;
Dann können Sie es einfach aussortieren und Eltern direkt über den Kindern erscheinen lassen
Code
{
text: 'Parent',
dataIndex: 'Parent',
renderer: function(value, meta, record) {
var ret = record.raw.Parent;
if (ret) {
return ret.Name;
} else {
meta.tdCls = 'invisible';
return record.data.Name;
}
}
},