java代码修改、删除数据之后刷新JTable的方法
String userTitle[] = {"ID","用户名","密码","邮箱","名字","等级"}; tab = new Object[userInfoNumber][6];
Iterator<User> iter = userList.iterator();
while(iter.hasNext()){
User user = iter.next();
tab[i][0] = user.getId();
tab[i][1] = user.getUserName();
tab[i][2] = user.getPwd();
tab[i][3] = user.getMail();
tab[i][4] = user.getName();
whatGrade = user.getGrade() == 1 ? "管理员" : "普通会员";
tab[i][5] = whatGrade;
i ++;
}
DefaultTableModel tableModel = new DefaultTableModel(tab,userTitle);
JTable table = new JTable(tableModel);
for(int j = 0;j < table.getRowCount();j ++){
//获得删除时选择的ID在JTABLE中的行号
成都网站推广
if(Integer.parseInt(table.getValueAt(j, 0).toString()) == id){
int selIndex = j;
if( selIndex < 0 || selIndex >=table.getRowCount() ){
return ;
}
//删除这一行
tableModel.removeRow(selIndex) ;
//刷新
tableModel.fireTableDataChanged();
break;
}
}
如果是更新数据的话,只需
tableModel.fireTableDataChanged();
做一个Listener,实现三个接口:
ListSelectionListener..
TableColumnModelListener..
TableModelListener..
然后分别实现valueChanged,columnSelectionChanged,tableChanged方法其他方法就不用实现了,
定义两个整形变量row,col。row在valueChanged中获得值,col在columnSelectionChanged中获得值。
然后将这个监听器加到你的表格上,选中时就能得到行,或者列的值了,也就是被修改的行
相关文章
- 前端js添加修改URL参数的方法,修改地址后,可以不刷新页面,用了那么久,居然又发现了BUG,这下完美了
- sql server 存储过程的(包含事务)方法里面,采用游标循环,批量删除(修改)数据
- 微信小程序中使用setData({})达到删除、编辑操作后页面数据局部刷新的效果
- vue 父组件调用子组件中的方法 解决刷新后子组件通过props从父组件接受的数据丢失问题
- 表单修改数据后 页面上显示的还是更新前的数据,刷新后才显示新数据
- django 删除数据库表后重新同步的方法
- ASPxGridView删除、添加、修改成功后,弹出提示对话框的方法
- 在级联删除数据库后删除用户界面数据的正确方法
- Mysql EF 触发器生成主键id 存储区更新、插入或删除语句影响到了意外的行数(0)。实体在加载后可能被修改或删除。刷新 ObjectStateManager 项 ;System.Data.Entity.Infrastructure.DbUpdateConcurrencyException
- 在数据库中添加数据后,通过AJAX添加/删除表行的最佳方法是什么