java关于jtable的问题
我想使jtable可以显示从db查询出来的数据,要求的功能1。jtable的行数=查询出来的条数2。jtable的数据不可编辑,但是可以选中行3。可以取得选中的行标识,以...
我想使jtable可以显示从db查询出来的数据,
要求的功能
1。jtable的行数=查询出来的条数
2。jtable的数据不可编辑,但是可以选中行
3。可以取得选中的行标识,以便进行修改,删除等操作。
请教高手应该怎样做? 展开
要求的功能
1。jtable的行数=查询出来的条数
2。jtable的数据不可编辑,但是可以选中行
3。可以取得选中的行标识,以便进行修改,删除等操作。
请教高手应该怎样做? 展开
2个回答
展开全部
String[] tableName = {"IP","主机名"};
Object [][] lanwa={};
Class []datatype={ String.class, String.class };
DefaultTableModel tableModel = new DefaultTableModel(lanwa,tableName);
JTable table = new JTable(tableModel);
//动态加入行
String [] lineForAdd = {InMsg.substring(1,InMsg.indexOf("?")),InMsg.substring(InMsg.indexOf("?")+1)};
tableModel.addRow(lineForAdd);
上面是我做的一个东西的代码,
参数自己改就行了
下面回到楼主的问题,
个人感觉,
楼主的问题应该分两种情况讨论一下,
第一种是表的结构未知,
这种情况下,
先用show columns from table_name
得到表中的字段名属性等,
再动态生成jtable
最后显示出来就是了
第二种是表的结构知道,
ResultSet的列数,列名也知道,
这种情况就比较简单,
直接静态生成一些数据就行了,
当然,动态地加入行,
对两个情况是相同的,
至于修改删除等操作,
用tableModel.getSelectRow()
就行了
然后再用getValue(selected_row_count,index)
得到值,
直接在数据库里改就行了,
前提是这个值在数据库中具有可查找性
数据不可编辑的代码忘记了,
楼主自己找吧
Object [][] lanwa={};
Class []datatype={ String.class, String.class };
DefaultTableModel tableModel = new DefaultTableModel(lanwa,tableName);
JTable table = new JTable(tableModel);
//动态加入行
String [] lineForAdd = {InMsg.substring(1,InMsg.indexOf("?")),InMsg.substring(InMsg.indexOf("?")+1)};
tableModel.addRow(lineForAdd);
上面是我做的一个东西的代码,
参数自己改就行了
下面回到楼主的问题,
个人感觉,
楼主的问题应该分两种情况讨论一下,
第一种是表的结构未知,
这种情况下,
先用show columns from table_name
得到表中的字段名属性等,
再动态生成jtable
最后显示出来就是了
第二种是表的结构知道,
ResultSet的列数,列名也知道,
这种情况就比较简单,
直接静态生成一些数据就行了,
当然,动态地加入行,
对两个情况是相同的,
至于修改删除等操作,
用tableModel.getSelectRow()
就行了
然后再用getValue(selected_row_count,index)
得到值,
直接在数据库里改就行了,
前提是这个值在数据库中具有可查找性
数据不可编辑的代码忘记了,
楼主自己找吧
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询