为了账号安全,请及时绑定邮箱和手机立即绑定

隐藏行号时,单元格下拉菜单不起作用

隐藏行号时,单元格下拉菜单不起作用

撒科打诨 2021-05-31 09:38:42
我有一个 Nattable 可以隐藏他的行号。现在,当我隐藏行号时,它不会在单元格中显示下拉列表。我使用此代码隐藏行号:if (showRowNumbers) {      compositeGridLayer = new GridLayer(bodyLayer, finalHeaderRow, rowHeaderLayer, cornerLayer);    } else {      compositeGridLayer = new CompositeLayer(1, 2);      compositeGridLayer.setChildLayer(GridRegion.COLUMN_HEADER, columnHeaderLayer, 0, 0);      compositeGridLayer.setChildLayer(GridRegion.BODY, bodyLayer, 0, 1);      compositeGridLayer.setChildLayer(GridRegion.COLUMN_HEADER, finalHeaderRow, 0, 0);    }为了将下拉列表添加到单元格中,我们使用以下方法注册它:ComboBoxCellEditor comboBoxCellEditor = new ComboBoxCellEditor(phases, -1);comboBoxCellEditor.setMultiselect(false);comboBoxCellEditor.setUseCheckbox(false);comboBoxCellEditor.setFreeEdit(false);configRegistry.registerConfigAttribute(CellConfigAttributes.CELL_PAINTER, new ComboBoxPainter(),  DisplayMode.NORMAL, "phaseDropDown");comboBoxCellEditor.setIconImage(GUIHelper.getImage("plus"));configRegistry.registerConfigAttribute(EditConfigAttributes.CELL_EDITOR, comboBoxCellEditor, DisplayMode.EDIT,  "phaseDropDown");configRegistry.registerConfigAttribute(CellConfigAttributes.DISPLAY_CONVERTER, new DefaultDisplayConverter() {  @Override  public Object canonicalToDisplayValue(Object canonicalValue) {    return super.canonicalToDisplayValue(canonicalValue);  }}, DisplayMode.NORMAL, "phaseDropDown");如何在不删除表格中的下拉菜单的情况下隐藏行号?
查看完整描述

1 回答

?
翻阅古今

TA贡献1780条经验 获得超5个赞

不确定“隐藏行号”是什么意思。隐藏意味着您想要动态地执行此操作。您展示的方法不是动态的。

如果您的意思是要提供两种不同的组合,一种带有行号,另一种没有,则该方法是正确的。您使用不同的组合。我不明白的是为什么你用不同的层设置了两次列标题。

下一个问题,“不显示下拉列表”是什么意思?你没有看到小三角形还是组合框没有打开?我猜你的意思是组合框不会在点击时打开。我想原因是您忘记在新创建的CompositeLayer. 在GridLayer使用默认配置创建。在CompositeLayer你不设置任何配置。所以实际上即使打印、导出和交替行颜色也不起作用,因为它们根本没有配置。

您需要注册DefaultEditConfigurationDefaultEditBindingsCompositeLayer。这在我们的NatTable 文档|编辑中进行了解释。而且我确信我们还有一些示例涵盖了在非网格合成中进行编辑。


查看完整回答
反对 回复 2021-06-02
  • 1 回答
  • 0 关注
  • 167 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信