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%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.
Tags und Links java button swt jface tableviewer