繁体   English   中英

如何隐藏Jtable列数据?

[英]How to hide the Jtable column data?

我想隐藏Jtable列的数据,但不隐藏列视图,仅隐藏其数据。 该列包含有关利润的数据,客户不希望显示利润,但是在我的代码中,我使用此列的值并在用户选择指定的行时获取它。

如何在隐藏数据后选择该列时如何满足客户需求,并且仍然能够获得该列的值(将列显示为空但仍具有其值)?

您需要从JTableTableColumnModel中删除TableColumn 例如:

table.removeColumn( table.getColumn(...) );

现在,该列将不会显示在表中,但是TableModel仍然可以使用数据。 访问您使用的数据:

table.getModel().getValueAt(...);

您可以尝试子类化DefaultTableCellRenderer ,然后调用setCellRenderer 当相关的列号传递给getTableCellRendererComponent ,返回一个空白的JLabel ,否则调用默认的super.getTableCellRendererComponent

这应该意味着该列仍然可见,但是每个单元格将为空白。

如果要在选择一行时显示数据,则需要向选择模型添加一个侦听器(来自getSelectionModel ),以将所选行存储在变量中,并调用重绘。 然后,您可以在CellRenderer使用此值。

您为什么不让dataModel控制显示的内容? 我假设您正在使用tableModel。

您要做的就是更改getValueAt(..)方法,以便它不为您不想显示的列返回值。 确保getColumnCount()方法也减少了一个。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM