我在类级别有一个 JTable 和 DefaultTableModel。
第一次初始化 jTable 和模型时,我添加了 10 行。
在按钮上单击我从我的数据库中获得 3 行,因此我必须通过删除前面的 10 行来仅显示这 3 行。
我使用 tableModel.setDataVector(data, columnNames);
但主要问题是,该表仅用新行替换了 3 行旧行,并且仍然显示剩余的 7 行。
有人能帮忙吗?
谢谢, 杰
最佳答案
如果我理解了,您想用数据库中的 3 行重建表并删除前面的 10 行。如果那是真的,那么就这样做,
public void actionPerformed(ActionEvent e) {
// If the action is for getting data from DB then do,
DefaultTableModel dtm = (DefaultTableModel) myTable.getModel();
// int rowCount = dtm.getRowCount();
/*
for (int row = rowCount - 1; row >= 0; row--) {
dtm.removeRow(row);
} */
// or
if(dtm.getRowCount() > 0) {
dtm.setRowCount(0);
}
// Add code to get your 3 rows from the database.
}
关于java - DefaultTableModel setDataVector 将旧行附加到新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12111973/