Wie wird ein Flex-Datagrid nach mehreren Spalten sortiert?

8

Ich habe ein Datagrid, wie unten gezeigt. Wenn der Benutzer auf eine Spaltenüberschrift klickt, möchte ich die Zeilen mit einer lexikographischen Sortierung sortieren, in der die ausgewählte Spalte zuerst verwendet wird. Anschließend werden die verbleibenden Spalten in der Reihenfolge von links nach rechts verwendet, um alle Verknüpfungen aufzuheben. Wie kann ich das programmieren?

(Ich habe eine Antwort, die ich unten posten werde, aber es hat ein Problem - ich bin begeistert, wenn jemand einen besseren liefern kann!)

Hier ist das Layout:

%Vor%

Und hier ist der Backing-Code:

%Vor%     
Eric 17.09.2008, 18:08
quelle

1 Antwort

12

Die beste Antwort, die ich bisher gefunden habe, ist, das headerRelease-Ereignis zu erfassen, wenn der Benutzer klickt:

%Vor%

Der Event-Handler kann dann eine Sortierreihenfolge auf die Daten anwenden:

%Vor%

Dieser Ansatz hat jedoch ein bekanntes Problem: Die Spaltenüberschriften zeigen keine kleinen Pfeile mehr an, um die Sortierrichtung anzuzeigen. Dies ist ein Nebeneffekt des Anrufens     evt.preventDefault () Sie müssen diesen Aufruf jedoch ausführen, da andernfalls die benutzerdefinierte Sortierung nicht angewendet wird.

    
Eric 17.09.2008, 18:11
quelle

Tags und Links