[SWT] Widget Table verliert nach Sortierung farbige / eingefärbter Background / Zellen

chalkbag

Bekanntes Mitglied
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

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
 

chalkbag

Bekanntes Mitglied
Hallo SirWayne,

schonmal danke für deine Hilfe, hat mir sehr geholfen.

Ich muss also den Provider anpassen.

Ich verwendet jetzt anstatt eines LabelProvider (für getText, ) den ColumnLabelProvider (getBackground).

Java:
class TableLabelProviderImport extends ColumnLabelProvider implements ITableLabelProvider 
.. getText(...)...
.. getBackground(...)...
...


Mit diesem ist es mir möglich, einzeln Zeilen einzufärben.

Ich werd noch weiter suchen, aber du weißt nicht rein zufällig welcher Provider mir bei einer Zelle helfen könnte, mit LabelDecorator hatte ich keinen Erfolg.

Dank dir nochmal.
 

chalkbag

Bekanntes Mitglied
ah nach längerem gruscheln die richtigen gefunden.

Java:
	class TableLabelProviderImport extends BaseLabelProvider implements ITableLabelProvider, ITableColorProvider {
		
		public String getColumnText(Object element, int columnIndex) {
			...
		}

		public Color getBackground(Object o, int arg1) {
			...
		}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
H RCP(SWT) Browser-Widget zeigt keine locale HTML-Dateien an AWT, Swing, JavaFX & SWT 1
S SWT Anzeigen einer lokalen HTML-Seite im Browser Widget über RAP nicht möglich AWT, Swing, JavaFX & SWT 3
C SWT - widget dynamisch erzeugen und anzeigen AWT, Swing, JavaFX & SWT 10
Madlip SWT DateTime Widget Schließen AWT, Swing, JavaFX & SWT 4
S Nebula Widget CollapsibleButton AWT, Swing, JavaFX & SWT 2
T SWT Widget AWT, Swing, JavaFX & SWT 5
S SWT Wie bei Widget Text auf int prüfen bei Eingabe AWT, Swing, JavaFX & SWT 5
H SWT Uhr Widget AWT, Swing, JavaFX & SWT 2
P SWT Browser-Widget und Zwischenablage bzw. Strg+C AWT, Swing, JavaFX & SWT 5
W SWT DateTime Widget Local ändern AWT, Swing, JavaFX & SWT 7
J Applikation als Desktop-"Widget" AWT, Swing, JavaFX & SWT 2
R setEnabled bei eigenem Widget implementieren? AWT, Swing, JavaFX & SWT 3
DeeDee0815 SWT Text Widget: Zwischen Single und Password umschalten AWT, Swing, JavaFX & SWT 3
G Widget Netzwerk einbauen AWT, Swing, JavaFX & SWT 7
D Widget/Control während Laufzeit durch ein anderes ersetzen AWT, Swing, JavaFX & SWT 3
N [Suche] JTree Widget/Library. AWT, Swing, JavaFX & SWT 2
S AWT Komponenten in einem SWT Widget AWT, Swing, JavaFX & SWT 6
C JFrame ohne Minimize/Maximize-Widget AWT, Swing, JavaFX & SWT 7
C Default table model aktualisieren AWT, Swing, JavaFX & SWT 7
J Anbindung Textfeldklasse an Table funktioniert nicht AWT, Swing, JavaFX & SWT 3
A JavaFX Daten in eine HTML-Table mit JS schreiben AWT, Swing, JavaFX & SWT 3
S JavaFX Boolean ändern Table View AWT, Swing, JavaFX & SWT 14
B JavaFX JavaFX Table gespeichertes Wert auswählen/anvisieren AWT, Swing, JavaFX & SWT 3
C TableModel zugehörige Table ermitteln AWT, Swing, JavaFX & SWT 3
T Table Renderer AWT, Swing, JavaFX & SWT 2
T Default Table wird nicht angezeigt AWT, Swing, JavaFX & SWT 15
E JavaFX Von der Table-Cell zur Row AWT, Swing, JavaFX & SWT 0
A JavaFX Table Delete Row AWT, Swing, JavaFX & SWT 5
N JavaFX Problem mit table multiple selection AWT, Swing, JavaFX & SWT 5
D JavaFX Table Filter AWT, Swing, JavaFX & SWT 4
R Swing JTable : Header der Spalten ergänzen mit caption (wie bei html-table) AWT, Swing, JavaFX & SWT 2
I JTable: Doppelklick auf Table soll neues Fenster öffnen und Daten aus JTable anzeigen AWT, Swing, JavaFX & SWT 4
J JTabbedPane: table in new tab: tooltip benutzt die column-widths von table in erstem geöffneten tab AWT, Swing, JavaFX & SWT 17
G Border der Komponente bei Table CellRenderer überschreiben AWT, Swing, JavaFX & SWT 0
M MouseListener auf table oder scrollPane AWT, Swing, JavaFX & SWT 11
T SWT checkbox in table AWT, Swing, JavaFX & SWT 6
C JTable Drag and Drop von Zeilen innerhalb einer Table AWT, Swing, JavaFX & SWT 2
Z JavaFX Table mit MenuButton AWT, Swing, JavaFX & SWT 6
T SWT Table (mit Spinner Spalte) Daten auslesen AWT, Swing, JavaFX & SWT 4
E extended Swing Table AWT, Swing, JavaFX & SWT 2
J Einträge aus Table löschen ohne Exception AWT, Swing, JavaFX & SWT 6
T Table-Zeilen mit Thread einfärben AWT, Swing, JavaFX & SWT 15
E SWT Popupmenu auf der Überschrift eines swt.widgets.Table verhindern? AWT, Swing, JavaFX & SWT 3
Nicklas2751 Table View zeigt keinen Inhalt nur leere Zeilen AWT, Swing, JavaFX & SWT 2
reibi SWT SWT - Table AWT, Swing, JavaFX & SWT 8
A Swing JButton in einer Table Cell AWT, Swing, JavaFX & SWT 9
lumo SWT JFace Databinding +Custom Table AWT, Swing, JavaFX & SWT 2
M SWT - Table deselecten AWT, Swing, JavaFX & SWT 2
R SWT | Table | Zeilenkopf AWT, Swing, JavaFX & SWT 2
M SWT Table disabled und Scrollbar enabled AWT, Swing, JavaFX & SWT 11
L Inhalt einer table löschen AWT, Swing, JavaFX & SWT 2
L Jbutton in table AWT, Swing, JavaFX & SWT 2
lumo SWT Table Selection Color +Focus Out AWT, Swing, JavaFX & SWT 14
S SWT Maximum an Items in Table? AWT, Swing, JavaFX & SWT 2
F SWT table refresh per Thread AWT, Swing, JavaFX & SWT 2
Q SWT Mindetsgröße für Table AWT, Swing, JavaFX & SWT 7
1 Swing manual resize table column to min size AWT, Swing, JavaFX & SWT 2
hdi SWT SWT Table: 2 kleine Probleme AWT, Swing, JavaFX & SWT 4
S SWT Table Größen verändern AWT, Swing, JavaFX & SWT 10
lumo SWT Table und Klassen AWT, Swing, JavaFX & SWT 14
lumo SWT Table CellEditor - knifflig AWT, Swing, JavaFX & SWT 35
M SWT Table mit Columns und Items AWT, Swing, JavaFX & SWT 3
L Java Table AWT, Swing, JavaFX & SWT 4
F Swing J(X)Table Spalten umsortieren NUR im View (Wie finde ich eine Spalte nach Name?) AWT, Swing, JavaFX & SWT 3
A SWT Table mit Bildern und Checkboxes AWT, Swing, JavaFX & SWT 4
A SWT Table hat keine Scrollbar AWT, Swing, JavaFX & SWT 12
A SWT Table clearAll() und zurücksetzen. AWT, Swing, JavaFX & SWT 3
K SWT Table Modell / Datenmodell AWT, Swing, JavaFX & SWT 14
S Table oder TableModel so ueberschreiben, dass Columns minimale Breite haben? AWT, Swing, JavaFX & SWT 2
T SWT - Table Events AWT, Swing, JavaFX & SWT 3
B SWT - Drag & Drop innerhalb einer Table AWT, Swing, JavaFX & SWT 3
T Fokus auf CB in Table mit beliebiger Taste AWT, Swing, JavaFX & SWT 12
S swt table mit checkboxen: wie nachträglich im code setzen? AWT, Swing, JavaFX & SWT 6
S Seltsam: SWT Table zeigt keine Scrollbar an AWT, Swing, JavaFX & SWT 12
G SWT-Table sortieren AWT, Swing, JavaFX & SWT 12
T Input-Check bei Textfeldern in Table AWT, Swing, JavaFX & SWT 5
G SWT Table Controll AWT, Swing, JavaFX & SWT 7
L SWT-Table: Datum ausgeben? AWT, Swing, JavaFX & SWT 5
G Table in SWT AWT, Swing, JavaFX & SWT 2
S Table Row per Drag and Drop in andere Table schieben? AWT, Swing, JavaFX & SWT 14
S SWT Table - Wie Columns hinzufügen / entfernen AWT, Swing, JavaFX & SWT 3
K javax.swing.table.TableRowSorter AWT, Swing, JavaFX & SWT 13
I JComboBox in Table AWT, Swing, JavaFX & SWT 4
G wo wird die table mit daten gefüllt? oô AWT, Swing, JavaFX & SWT 4
S SWT Drag&Drop / Table AWT, Swing, JavaFX & SWT 9
E JTable-während der Einfügezeit der Zellen in die Table AWT, Swing, JavaFX & SWT 2
S table - combobox AWT, Swing, JavaFX & SWT 7
D Selection SWT Table AWT, Swing, JavaFX & SWT 5
D SWT Table AWT, Swing, JavaFX & SWT 5
P Table Layout remove()? AWT, Swing, JavaFX & SWT 2
W Zeile in Table (SWT) selektieren und auslesen AWT, Swing, JavaFX & SWT 4
G Dringend ! SWT-Table übernimmt Änderung nicht AWT, Swing, JavaFX & SWT 2
L Multiline Table AWT, Swing, JavaFX & SWT 3
R SWT: Icons im Table vor den Einträgen AWT, Swing, JavaFX & SWT 3
T mit rechter maustaste Table row selektieren AWT, Swing, JavaFX & SWT 2
F Zeilenhöhe bei SWT Table AWT, Swing, JavaFX & SWT 3
S Nochmal Spaltenbriete im Table AWT, Swing, JavaFX & SWT 2
G mal wieder table. AWT, Swing, JavaFX & SWT 3
V SWT Table mit SWT.CHECK AWT, Swing, JavaFX & SWT 2
P SWT table updaten AWT, Swing, JavaFX & SWT 7

Ähnliche Java Themen

Neue Themen


Oben