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

1

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

  1. Я хочу кнопку в headheader,
  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.

Теги:
swt
jface
tableviewer

1 ответ

2
Лучший ответ

TableColumn уже ведет себя как кнопка, просто используйте addSelectionListener для прослушивания нажатой кнопки. Вы не можете легко добавить элементы управления в заголовок столбца.

Чтобы выбрать все, вызовите

Object [] elements = get all the elements in your data model

dataTable.setSelecton(new StructuredSelection(elements));
  • 0
    спасибо Грег ... :)
  • 0
    «получить все элементы в вашей модели данных» означает, что именно? Можете ли вы дать пример кода?
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню