2009-11-14 7 views
5

Ich baue wie gewöhnlich einen Tableviewer auf, aber er sortiert zunächst nicht alle Zeilen nach der für die Sortierung definierten Spalte.TableViewer, der eine anfängliche Sortierreihenfolge definiert, hat keinen Einfluss auf die Daten

Der Code Ich verwende:

viewer.getTable().setSortColumn(viewer.getTable().getColumn(4)); 
viewer.getTable().setSortDirection(SWT.UP); 

Erst nach manuell die Spalte # 4 Anklicken ich die richtige Reihenfolge, weil es sonst folgt genau der „einfügen, um“ der Objektliste mit dem ViewContentProvider verknüpft. Können Sie mir bitte helfen? Tnx

Antwort

0

In der JFace-API gibt es eine Sortieroption.

Wenn ich this article richtig verstanden habe, beschreibt es, was Sie basierend auf dieser Art Unterstützung benötigen.

1

Sie müssen nur die Tabelle aktualisieren.

1

hatte gerade das gleiche Problem.

Bei Verwendung ... tableViewer.setComparator(comparator) ... wird der obige Code ignoriert.

Sie müssen den ersten Sortierspaltenindex im erweiterten ViewerComparator manuell festlegen.

0

Devalex Antwort Aufbauend auf, die folgenden für mich gearbeitet:

viewer.setContentProvider(...); 
viewer.setInput(...); 
viewer.setComparator(myComparator); 
myComparator.setColumn(colIndex); 
viewer.refresh(); 
Verwandte Themen