当前位置: 技术问答>java相关
手上有core in java2(卷2高级特性)一书的兄弟进来帮忙看看原书例子问题。
来源: 互联网 发布时间:2015-06-26
本文导语: 268页高级Swing一章例6-8,即访问数据库,利用结果集rs信息,用Talbe显示数据。 现在兄弟有个小问题,就是现在我的Table显示阿什么的都很正常。但是,如果这个时候我在界面上修改了某条记录某个列值(此时数据库中...
268页高级Swing一章例6-8,即访问数据库,利用结果集rs信息,用Talbe显示数据。
现在兄弟有个小问题,就是现在我的Table显示阿什么的都很正常。但是,如果这个时候我在界面上修改了某条记录某个列值(此时数据库中已修改)。但Table里面是不会将改正的结果显示出来的,必须要我从新读取数据库并刷新Table。因为我每次最多只改一条记录中一个列值,所以我希望并不要去从新读取数据库,直接改动Table中的数据解决正确显示问题。
但是问题来了,由于这个例子中用的是查询结果集ResultSet来生成tablemodle的,我直接
table.setValueAt(userMemo,table.getSelectedRow(),4);//(因为我改动的正式光标所在的行的第5列)
并没有改变成功,直接刷新也不行。毕竟Talbe和modle并没有存放这些数据,这种情况该如何处理?改动rs行不?如何改?
望各位帮忙
分不是问题
现在兄弟有个小问题,就是现在我的Table显示阿什么的都很正常。但是,如果这个时候我在界面上修改了某条记录某个列值(此时数据库中已修改)。但Table里面是不会将改正的结果显示出来的,必须要我从新读取数据库并刷新Table。因为我每次最多只改一条记录中一个列值,所以我希望并不要去从新读取数据库,直接改动Table中的数据解决正确显示问题。
但是问题来了,由于这个例子中用的是查询结果集ResultSet来生成tablemodle的,我直接
table.setValueAt(userMemo,table.getSelectedRow(),4);//(因为我改动的正式光标所在的行的第5列)
并没有改变成功,直接刷新也不行。毕竟Talbe和modle并没有存放这些数据,这种情况该如何处理?改动rs行不?如何改?
望各位帮忙
分不是问题
|
table.setValueAt(userMemo,table.getSelectedRow(),8);
table.revalidate();
我使用了这个方法,并且刷新,但没有效果。如果刷新整个modle,很显然table上面所选中的那条记录将不再被选中
而且我需要的效果是,在不改变当前显示情况下(该条被修改记录被显示为被选择),更新这条被选择的记录
请问有何方法可以达到这种效果?
高手请帮忙想想……
table.revalidate();
我使用了这个方法,并且刷新,但没有效果。如果刷新整个modle,很显然table上面所选中的那条记录将不再被选中
而且我需要的效果是,在不改变当前显示情况下(该条被修改记录被显示为被选择),更新这条被选择的记录
请问有何方法可以达到这种效果?
高手请帮忙想想……
|
你的statement 是怎么创建的,结果集可变么?
|
ResultSet.TYPE_SCROLL_SENSITIVE
|
ResultSet.TYPE_SCROLL_SENSITIVE
|
我一般都是重新查询一遍的
|
好像还是要刷新。
|
例子不大的话,可以贴出来吗?
|
改一下 tablemodel 试试,用tablemodel的setvalue方法。
|
大家来看一看这个:
http://www.csdn.net/expert/topic/799/799900.xml?temp=3.342837E-02
http://www.csdn.net/expert/topic/799/799900.xml?temp=3.342837E-02
|
up!关注!