所以我有一个默认的表模型,由我创建的对象填充。其中一个对象是Name,具有该对象的三个其他字符串属性。我有一个执行操作的按钮,现在当此按钮执行此操作时,我需要遍历该DefaultTableModel中的所有项目,并删除在列0中与所选对象具有相同值的所有项目。所以我遇到的问题是这只会删除一个带有该值的项目(名称)。我需要此代码来删除包含与第0列相同的字符串值的所有项目。
int nRow = suggestedAcTableModel.getRowCount() - 1;
for (int i = 0; i < nRow; i++) {
String acNameStr = suggestedAcTableModel.getValueAt(i, 0).toString();
if (acNameStr.equals(acName)) {
suggestedAcTableModel.removeRow(i);
}
}
答案 0 :(得分:3)
如果您想在每列中搜索该值,然后在找到该值时删除整行,请参阅下文。
for (int i = 0; i < suggestedAcTableModel.getRowCount(); i++) {
for(int j = 0; j < suggestedAcTableModel.getColumnCount(); j++){
String acNameStr = suggestedAcTableModel.getValueAt(i, j).toString();
if (acNameStr.equals(acName)) {
suggestedAcTableModel.removeRow(i);
j = suggestedAcTableModel.getColumnCount();
i--;
}
}
}