Bonjour à tous,
dans un tableau, je désire rajouter un bouton, afin de lancer un traitement sur un objet de la ligne sélectionné. Comment puis je faire ?
Dans mon code, j'ai ceci :
Ici donc, quand je renseigne l'objet
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48 { myTableViewer = new TableViewer(parent, SWT.BORDER | SWT.FULL_SELECTION); Table myTable = (Table) myTableViewer .getControl(); GridData gridData = new GridData(GridData.FILL, GridData.FILL, true, true); gridData.horizontalSpan = 1; myTable.setLayoutData(gridData); TableLayout tableLayout = new TableLayout(); tableLayout.addColumnData(new ColumnPixelData(100)); // ... autres ColumnPixelData rajoutés : autant que de colonnes à gérer myTable.setLayout(tableLayout); myTableViewer .setContentProvider(new IStructuredContentProvider() { @Override public Object[] getElements(Object inputElement) { return (NxProxyDataVO[]) inputElement; } @Override public void dispose() {} @Override public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {} }); createFirstDataColumn(); createSecondDataColumn(); // creer autant de colonnes que necessaire createToUpdateColumn(); myTable.setHeaderVisible(true); } // ... quelques lignes plus bas : // exemple private void createFirstDataColumn() { TableViewerColumn tvc = new TableViewerColumn(myTableViewer , SWT.LEFT); tvc.setLabelProvider(new ColumnLabelProvider() { public String getText(Object element) { return "" + ((ClassOfData) element).getName(); } }); TableColumn tc = tvc.getColumn(); // tc.setWidth(10); tc.setText("First Data"); }, il me suffit de faire
Code : Sélectionner tout - Visualiser dans une fenêtre à part myTableVieweravec un tableau de
Code : Sélectionner tout - Visualiser dans une fenêtre à part myTableViewer.setInput(...).
Code : Sélectionner tout - Visualiser dans une fenêtre à part ClassOfData
A la dernière colonne, je voudrais, non pas afficher du texte, mais un bouton sur lequel, quand je clique, m'ouvre une fenêtre à partir duquel je peux lancer un traitement. Le gros problème est que je n'arrive pas à savoir comment on met un bouton dans la colonne !!!
Quelques bonnes âmes auraient elles des pistes de solution ? Un exemple à me donner ?
Merci d'avance,
Très cordialement,






Répondre avec citation
Partager