Как разместить кнопку в заголовке столбца CheckboxTableviewer? И когда я нажимаю эту кнопку, я хочу, чтобы все строки были выбраны

Как я могу разместить кнопку в Columnheader из CheckboxTableviewer? И когда я нажимаю эту кнопку, я хочу, чтобы все строки были выбраны. Моя таблица имеет 10 столбцов,

  1. Я хочу кнопку в заголовке столбца,
  2. когда я нажимаю эту кнопку, я хочу, чтобы все строки таблицы были выбраны.

Это мой стол

    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));
Другие вопросы по тегам