我想删除一个特定行,比如说:firstName="Bill"的行,怎么做

解决方案 »

  1.   

    public static void main(String[] args) {
    // String[][] datas = new
    // String[][]{{"Test1","Test2","Test3"},{"Test4","Test5","Test6"}};
    // String[] columnName = new String[]{"id","firstName","lastName"};
    Vector<Vector> datas = new Vector<Vector>();
    Vector<String> columnName = new Vector<String>();
    columnName.add("id");
    columnName.add("firstName");
    columnName.add("lastName");
    Vector<String> tmp = new Vector<String>();
    tmp.add("Test1");
    tmp.add("Test2");
    tmp.add("Test3");
    datas.add(tmp);
    tmp = new Vector<String>();
    tmp.add("Test4");
    tmp.add("Test5");
    tmp.add("Test6");
    datas.add(tmp); DefaultTableModel tableModel = new DefaultTableModel(datas, columnName);
    JTable table = new JTable(tableModel);
    DefaultTableModel tmpModel = (DefaultTableModel) table.getModel();
    System.out.println(tmpModel.getDataVector());
    Vector vactor = tmpModel.getDataVector();
    for (int i = 0; i < vactor.size(); i++) {
    Vector row = (Vector) vactor.get(i);
    if ("Test2".equals(row.get(tmpModel.findColumn("firstName")))) {
    tmpModel.removeRow(i);
    }
    }
    table.setModel(tmpModel);
    System.out.println(((DefaultTableModel) table.getModel())
    .getDataVector());
    }
    执行结果[[Test1, Test2, Test3], [Test4, Test5, Test6]]
    [[Test4, Test5, Test6]]