Расположение флажка в checkboxtableviewer по горизонтали в eclipse e4

1

Я использую eclipse e4 application. Я показываю checkboxtableviewer в Части. Теперь флажок расположен вертикально, как показано ниже.

checkbox MIN

checkbox MAX

флажок AVG

checkbox COUNT

Ниже приведен фрагмент кода, который я использовал.

public class StatisticsPart {

private CheckboxTableViewer tableViewer;
public Object[] statisticsSelected;

@Inject
public StatisticsPart() {
    //TODO Your code here
}

@PostConstruct
public void postConstruct(Composite parent) {
     tableViewer = new CheckboxTableViewer(parent, SWT.BORDER|SWT.HORIZONTAL);
     tableViewer.add("MIN");
     tableViewer.add("MAX");
     tableViewer.add("AVG");
     tableViewer.add("COUNT");
     tableViewer.getTable().setLayoutData(new GridData(GridData.FILL_BOTH));
     tableViewer.addCheckStateListener(new ICheckStateListener() {

        @Override
        public void checkStateChanged(CheckStateChangedEvent event) {
            statisticsSelected =  tableViewer.getCheckedElements();
        }
    });

}
}

Я хочу показать имя флажка по горизонтали и все соответствующие флажки под ним, как в следующем шаблоне.

MIN MAX AVG COUNT

checkbox checkbox checkbox checkbox флажок

Кто-нибудь может помочь, как это сделать.

заранее спасибо

Теги:
e4
jface

1 ответ

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

CheckboxTableViewer поддерживает только один флажок для каждой строки.

Вы можете использовать обычный TableViewer и определить четыре столбца.

Используйте ColumnLabelProvider для каждого столбца и переопределите метод getImage для обеспечения отмеченного или непроверенного изображения.

Вы можете изменить значение с помощью CheckboxCellEditor в поддержке редактирования столбца.

  • 0
    для добавления отмеченных / непроверенных изображений я использую private static final Image UNCHECKED = Activator.getImageDescriptor("icons/unchecked.gif").createImage(); Но какой пакет я должен импортировать для Activator ?

Ещё вопросы

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