Как разместить кнопку в заголовке столбца CheckboxTableviewer? И когда я нажимаю эту кнопку, я хочу, чтобы все строки были выбраны
Как я могу разместить кнопку в Columnheader
из CheckboxTableviewer
? И когда я нажимаю эту кнопку, я хочу, чтобы все строки были выбраны. Моя таблица имеет 10 столбцов,
- Я хочу кнопку в заголовке столбца,
- когда я нажимаю эту кнопку, я хочу, чтобы все строки таблицы были выбраны.
Это мой стол
final CheckboxTableViewer dataTable = CheckboxTableViewer.newCheckList(TableComposite2, SWT.MULTI | SWT.H_SCROLL
| SWT.V_SCROLL | SWT.BORDER |SWT.DM_FILL_BACKGROUND|SWT.FULL_SELECTION);
dataTable .getTable().setHeaderVisible(true);
dataTable .getTable().setLinesVisible(true);
dataTable .setContentProvider(new ArrayContentProvider());
//Action Check box
TableColumn columnCHead=new TableColumn(dataTable .getTable(),SWT.NONE);
columnCHead.setText("Delete");
columnCHead.setWidth(50);
// setting column input
TableViewerColumn columnC=new TableViewerColumn(dataTable ,columnCHead);
columnC.setLabelProvider(new ColumnLabelProvider()
{
public String getText(Object Element)
{
return null;
}
});
TableColumn columnFS1Head=new TableColumn(dataTable .getTable(),SWT.NONE);
columnFS1Head.setText("SOURCE DIRECTORY");
columnFS1Head.setWidth(300);
TableViewerColumn columnFS1=new TableViewerColumn(dataTable ,columnFS1Head);
columnFS1.setLabelProvider(new ColumnLabelProvider()
{
public String getText(Object Element)
{
AgedFileMaster a=(AgedFileMaster)Element;
return a.getDIRECTORY_PATH();
}
В первом столбце я хочу эту кнопку вместо текста "удалить". Кто-нибудь, пожалуйста, помогите. Я новичок в SWT.
1 ответ
Решение
TableColumn
уже ведет себя как кнопка, просто используйте addSelectionListener
прослушивать нажатие кнопки. Вы не можете легко добавить элементы управления в заголовок столбца.
Чтобы выбрать все, позвоните
Object [] elements = get all the elements in your data model
dataTable.setSelecton(new StructuredSelection(elements));