JTable 绑定数据库后动态增加列的问题,急,请高手看看

blazelgh 2004-08-31 11:49:38
JTable显示数据表的内容,
this.dataModel = new DefaultTableModel(cdb.data, cdb.header) {
public Class getColumnClass(int column) {
return getValueAt(0, column).getClass();
}
在Table后面增加一列放入
JComboBox comboBox = new JComboBox();
comboBox.addItem("取消修改");
comboBox.addItem("确定修改");
comboBox.addItem("删除整行");
DefaultTableCellRenderer renderer =new DefaultTableCellRenderer();
//renderer.setText(" ok ");
renderer.setToolTipText("点击这里进行数据操作");
如:
editcol = new TableColumn();
editcol.setHeaderValue("数据操作");
editcol.setCellRenderer(renderer);
TableCellEditor tce = new DefaultCellEditor(comboBox);
editcol.setCellEditor(tce);
this.dbTable.addColumn(editcol);

但是“数据操作”这列中 每个cell显示的内容是JTable第一列的内容而不是comboBox的内容,而且JTable第一列的内容会和“数据操作”列的内容一样,点击“数据操作”后才会显示comboBox的内容,第一列也会显示comboBox的内容

问题:
1,怎样设置新添加列的内容
2,怎样不让第一列和新加列内容同步
3,comboBox的事件怎么响应。
谢谢了!

...全文
290 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
blazelgh 2004-08-31
  • 打赏
  • 举报
回复
up
blazelgh 2004-08-31
  • 打赏
  • 举报
回复
我现在已经绑定了数据。
我要额外添加一列,用来做数据编辑。
请进来的人帮我想想,也帮我顶顶。
谢谢大家了
blazelgh 2004-08-31
  • 打赏
  • 举报
回复
to flyingbug
我是这样做的。数据是从另外的一个类中得到。
因为在JFrame里面有Button的load事件。所以上面的代码是在事件里面触发去动态绑定数据的。
数据的入口类返回cdb.header是一个Object[]用来得到数据表的字段名的,另外还返回一个cdb.data是Object[][] 用来存放数据的。
flyingbug 2004-08-31
  • 打赏
  • 举报
回复
你把数据和界面分开
做一个行数据入口类
全部行加到一个表数据入口类(都用Vcetor做容器)
然后赋给一个TableModel
在用TableModel来给table赋值
就不会有这种麻烦了
你这样直接在界面上改,不太好
blazelgh 2004-08-31
  • 打赏
  • 举报
回复
请大家帮我看下。
up

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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