2012-12-13 68 views
0

因此,我有一个默认表模型,该模型由我创建的对象填充。其中一个对象是Name,另外还有另外三个对象的字符串属性。我有一个执行动作的按钮,现在,当此按钮执行此操作时,我需要循环访问该DefaultTableModel中的所有项目,并删除列0中与所选对象具有相同值的所有项目。所以我的问题是这只会删除一个具有该值的项目(名称)。我需要这个代码删除所有包含相同的字符串值列中的项目的0删除Java JTable中的多个项目

   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); 
        } 
       } 

回答

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--; 
     } 
    } 
} 
+0

嘿它工作,谢谢MM我很感激。 – yams