如何隐藏某列的显示?

localking 2004-07-13 04:50:12
我想在JTable中隐藏某一指定列,用了改变行宽的方法,因为不想remove掉,只是达到隐藏的效果。我现在的方法如下:
columnModel.getColumn(j).setMaxWidth(0);
columnModel.getColumn(j).setMinWidth(0);
columnModel.getColumn(j).setWidth(0);
其中,tabde的一个属性设置如下:
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);

这样为什么该列没有隐藏掉?

多谢多谢阿!
...全文
236 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
localking 2004-07-14
  • 打赏
  • 举报
回复
to all:
thanks all! with your strong support, the problem has been solved! The summary is as following. Till now, i still don't know why "columnModel.getColumn(j).setWidth(0);" is unavailable.

1.sourceCode:
for(int i = 0; i < dayNum; i++){
this.tableDailyPlan.getColumn("id"+Integer.toString(i+1)).setMaxWidth(0);
this.tableDailyPlan.getColumn("id"+Integer.toString(i+1)).setMinWidth(0);
this.tableDailyPlan.getColumn("id"+Integer.toString(i+1)).setPreferredWidth(0);
}
localking 2004-07-13
  • 打赏
  • 举报
回复
to: one_two
非常感谢大力支持,但是,
我还是不太明白是怎么控制某个字段不显示的,但这一列还是实际存在的,能详细说明一下吗?thanks
tomcatjava 2004-07-13
  • 打赏
  • 举报
回复
同意 azqf121(阿晚)
maowu 2004-07-13
  • 打赏
  • 举报
回复
sorry,copy 少了一部分给你,应该是这样:

table.getColumnModel().getColumn(0).setMinWidth(0);
table.getColumnModel().getColumn(0).setPreferredWidth(0);
one_two 2004-07-13
  • 打赏
  • 举报
回复
在jtable的时候用JTable jtable = new JTable(TableModel)
字段全部在TableModel里面,然后需要显示的字段在jtable里面写出,如果不需要显示id,那么在jtable里面就不要显示出来,但实际上id还是存在的,如果需要取道这个id,你用TableModel.getvalueAt()就可以了
maowu 2004-07-13
  • 打赏
  • 举报
回复
table.getColumnModel().getColumn(0).setPreferredWidth(0);
localking 2004-07-13
  • 打赏
  • 举报
回复
我要隐藏的列只是为了满足存储某些不想显示的数据,如此行数据对应的数据库id,这样某行数据发生了变化,这样我可以知道是数据库表中那行数据需要更新。请问除了用隐藏列实现这种功能,还有其他好的建议没?
azqf121 2004-07-13
  • 打赏
  • 举报
回复
this.getColumnModel().removeColumn(column);
REMOVE掉这一列,需要的时候再加进来
lqtflwg718 2004-07-13
  • 打赏
  • 举报
回复
严重关注!

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧