Hinzufügen einer Schaltfläche zum Entfernen einer Spalte in einer Tabelle

7

Ist es möglich, einer Zelle in einer Tabelle eine Entfernen -Schaltfläche hinzuzufügen?

Ich habe eine Tabelle mit 5 Spalten, ich möchte eine 6. Spalte hinzufügen. Ich möchte, dass die 6. Spalte in jeder Zeile eine Schaltfläche zum Entfernen enthält.

Beispielzeile:

  

| 10002 | Teil | Metall | 001 | Ja | Entfernen |

Auf diese Weise kann der Benutzer unerwünschte Zeilen entfernen, indem er einfach auf die Schaltfläche klickt.

Ich habe eine Markup-Spalte in der Tabelle und es ist ComboBox . Ich habe eine Klasse erstellt, die EditingSupport erweitert.

Müsste ich eine weitere Klasse erstellen, die EditingSupport erweitert, aber eine Schaltfläche anstelle von ComboBox erstellt?

BEARBEITEN

%Vor%

BEARBEITEN

%Vor%     
jkteater 18.09.2012, 15:41
quelle

4 Antworten

19

Hier ist Beispielarbeitsversion.

%Vor%     
sambi reddy 19.09.2012, 00:23
quelle
2

Zusätzlich zu der Antwort von @ sambi.reddy gibt es einen Kommentar, der besagt: " stelle sicher, dass du diese Schaltflächen entsorgst, wenn sich die Zuschauereingabe ändert ". Das musste ich tun, damit dieser Teil funktioniert.

Das verwendete Framework hatte eine Implementierung von IStructuredContentProvider, also musste ich im überschriebenen inputChanged (...) den folgenden Code eingeben: -

%Vor%

Dies funktioniert einwandfrei, es sei denn, Sie haben eine Aktualisierungstabelle (dh viewer.setInput (List)) als Ergebnis Ihrer Schaltflächenaktion aufgerufen. Wenn ich das hinzufügte, gab die folgende Linie manchmal Knöpfe zurück, die noch bestanden, aber entsorgt wurden:

%Vor%

Also musste ich diese Zeile aktualisieren:

%Vor%

Was dazu geführt hat, dass irgendwelche Schaltflächen neu erstellt wurden, wenn sie noch benötigt wurden.

    
simo.379209 15.07.2014 06:00
quelle
1

Eine wichtige Sache für die gewählte Antwort ist, dass Sie keine Instanz von TableEditor bei jedem Aufruf der Update-Methode erstellen sollten, da dies die Performance verlangsamen oder die Anwendung sogar unempigiv machen würde.

%Vor%     
Dominik K 23.04.2014 10:26
quelle
0

Der folgende Code sollte für Sie funktionieren

%Vor%     
sambi reddy 18.09.2012 16:10
quelle

Tags und Links