Я пытаюсь узнать, как включить редактирование ячеек в Nebula NatTable. Я отредактировал _301_CustomDataProviderExample::createExampleControl, чтобы показать эту функцию:
@Override
public Control createExampleControl(Composite parent) {
//...
final NatTable natTable = new NatTable(parent, SWT.NO_BACKGROUND
| SWT.NO_REDRAW_RESIZE | SWT.DOUBLE_BUFFERED, bodyDataLayer, false);
natTable.addConfiguration(new DefaultNatTableStyleConfiguration());
natTable.addConfiguration(new AbstractRegistryConfiguration() {
@Override
public void configureRegistry(IConfigRegistry configRegistry) {
configRegistry.registerConfigAttribute(
EditConfigAttributes.CELL_EDITABLE_RULE,
IEditableRule.ALWAYS_EDITABLE);
}
});
natTable.configure();
return natTable;
}
Но при запуске примера я не могу редактировать ячейки. Что мне не хватает? Спасибо!
Обновление: мое решение для этого случая:
bodyDataLayer.addConfiguration(new DefaultEditConfiguration());
bodyDataLayer.addConfiguration(new DefaultEditBindings());
Примечание: не добавляйте эти конфигурации в natTable из-за java.lang.ClassCastException: org.eclipse.nebula.widgets.nattable.NatTable нельзя преобразовать в org.eclipse.nebula.widgets.nattable. слой.AbstractLayer