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;
        }
    }
},

Antworten auf die Frage(1)

Ihre Antwort auf die Frage