Как скрыть границу ячеек в NatTable

Я хочу скрыть границу ячеек в NatTable (Nebula). Я пробовал с Style (установить толщину = 0), но пока безуспешно:

Style textCellStyle = new Style();
textCellStyle.setAttributeValue(
                        CellStyleAttributes.BORDER_STYLE,
                        new BorderStyle(0, GUIHelper.COLOR_BLUE, LineStyleEnum.DASHED));

Можете ли вы дать мне руководство? Большое спасибо!

Обновление: код, который я использовал:

NatTable natTable = new NatTable(parent, false);
ConfigRegistry configRegistry = new ConfigRegistry();
natTable.setConfigRegistry(configRegistry);
natTable.addConfiguration(new DefaultNatTableStyleConfiguration());
configRegistry.registerConfigAttribute(
                CellConfigAttributes.RENDER_GRID_LINES, 
                Boolean.FALSE);
///...
CompositeLayer composeLayer = new CompositeLayer(2, 2);
        composeLayer.setChildLayer(GridRegion.CORNER, cornerLayer, 0, 0);
        composeLayer.setChildLayer(GridRegion.COLUMN_HEADER, columnHeaderLayer, 1, 0);
        composeLayer.setChildLayer(GridRegion.ROW_HEADER, rowHeaderLayer, 0, 1);
        composeLayer.setChildLayer(GridRegion.BODY, viewportLayer, 1, 1);
natTable.setLayer(composeLayer);
natTable.refresh();

Как мы можем применить Кортик решения только в ТЕЛЕ?


person aviit    schedule 02.10.2017    source источник


Ответы (1)


Я полагаю, вы говорите о линиях сетки, а не о границах.

Вы можете отключить рендеринг линий сетки через

configRegistry.registerConfigAttribute(
            CellConfigAttributes.RENDER_GRID_LINES, 
            Boolean.FALSE);

Следующий код просто регистрирует настройку для области тела:

configRegistry.registerConfigAttribute(
            CellConfigAttributes.RENDER_GRID_LINES, 
            Boolean.FALSE,
            DisplayMode.NORMAL,
            GridRegion.BODY);
person Dirk Fauth    schedule 02.10.2017
comment
Да, это то, чего я хочу. Но это больше, чем то, что я хочу: это также отключает линию сетки заголовка строки. Как я могу применить только к телу? - person aviit; 03.10.2017
comment
Точно так же вы делаете это с другими конфигурациями. Зарегистрируйте его для GridRegion.BODY - person Dirk Fauth; 03.10.2017
comment
Спасибо, Дирк! Это мой код: viewportLayer.setRegionName("MyLabel"); configRegistry.registerConfigAttribute(CellConfigAttributes.RENDER_GRID_LINES, Boolean.FALSE, DisplayMode.NORMAL, "MyLabel"); - person aviit; 04.10.2017