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