Hallo Community,
ich verwende momentan eine SWT widgets Table (siehe org.eclipse.swt.widgets.Table)
Diese Tabelle kann ich durch klicken auf die Überschrift asc/dsc sortieren.
Zum sortieren nutze ich folgende Referenzsortierung
(siehe [Eclipse_Project] Contents of /org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet040TableViewerSorting.java )
Die Sortierung baut auf eine eigene Datenstruktur auf und sieht z.b. wie folgt aus
Also ein typischer Compare mit einer Datenstruktur wie folgt als Basis.
Sortieren funktioniert {check}
Problem, diese Methode soritert wohl nur die Werte um, und zeichnet die Zeilen neu.
Leider färbe ich beim Import zuvor mittels
einzelne Cellen ein. Diese Information ist nach der Sortierung verloren. Nun müsste ich meine Routine (welche mit einem DB-Abgleich etwas aufwändiger ist) nochmals über die Tabelle schicken.
Eigentliche Frage, kann ich eine widgets.Tabelle irgendwie sortieren, so das die optischen Attribute berücksichtigt werden (d.h. Cell.Background)?
Ich hoffe es war verständlich.
Grüße
Staubbeutel
ich verwende momentan eine SWT widgets Table (siehe org.eclipse.swt.widgets.Table)
Diese Tabelle kann ich durch klicken auf die Überschrift asc/dsc sortieren.
Zum sortieren nutze ich folgende Referenzsortierung
(siehe [Eclipse_Project] Contents of /org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet040TableViewerSorting.java )
Die Sortierung baut auf eine eigene Datenstruktur auf und sieht z.b. wie folgt aus
Java:
ColumnSorter cSorter = new ColumnSorter(tableViewer, column) {
protected int doCompare(Viewer v, Object e1, Object e2) {
ITableLabelProvider lp = ((ITableLabelProvider) tableViewer.getLabelProvider());
String t1 = lp.getColumnText(e1, colIdx);
String t2 = lp.getColumnText(e2, colIdx);
return t1.compareTo(t2);
}
};
Also ein typischer Compare mit einer Datenstruktur wie folgt als Basis.
Java:
class ComponentXY () {
String name;
String text;
....
}
Sortieren funktioniert {check}
Problem, diese Methode soritert wohl nur die Werte um, und zeichnet die Zeilen neu.
Leider färbe ich beim Import zuvor mittels
Java:
Table.getItem(i).setBackground(4,colorNew);
einzelne Cellen ein. Diese Information ist nach der Sortierung verloren. Nun müsste ich meine Routine (welche mit einem DB-Abgleich etwas aufwändiger ist) nochmals über die Tabelle schicken.
Eigentliche Frage, kann ich eine widgets.Tabelle irgendwie sortieren, so das die optischen Attribute berücksichtigt werden (d.h. Cell.Background)?
Ich hoffe es war verständlich.
Grüße
Staubbeutel