我想在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();


我们如何仅在身体中应用解决方案的Dirk?

最佳答案

我想您是在谈论网格线而不是边界线。

您可以通过以下方式禁用网格线渲染

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


以下代码仅注册了主体区域的设置:

configRegistry.registerConfigAttribute(
            CellConfigAttributes.RENDER_GRID_LINES,
            Boolean.FALSE,
            DisplayMode.NORMAL,
            GridRegion.BODY);

09-28 13:10