J.S
Posts: 2
Nickname: jay11
Registered: Nov, 2004
|
|
Re: Urgent Help needed to remove row in JTable!
|
Posted: Nov 24, 2004 8:18 AM
|
|
Hi,
really appreciate it! Here's my table model class. It still extends AbstractTableModel since I always got the ArrayOutOfBoundsException when extending DefaultTableModel. (But now I cannot use that removeRow()method)
public class DBTableModel extends AbstractTableModel { public static Vector results; int colCount = 0; String[] headers; Connection con = null; Statement stmt = null; ResultSet queryResults = null;
public DBTableModel(Connection conn) { results = new Vector(); setConnection(conn); } public void setConnection(Connection conn) { con = conn; } public String getColumnName(int i) { return headers; } public int getColumnCount() { return colCount; } public int getRowCount() { return results.size();}
public Object getValueAt(int row, int col) { return ((String[])results.elementAt(row))[col]; } public boolean isCellEditable(int row, int col) { return true; } public void setValueAt(Object value, int row, int col) { ((String[])results.elementAt(row))[col] = value.toString(); fireTableCellUpdated(row, col); System.out.println("New value @ROW-"+(row+1) +", COLUMN-"+(col+1) +": "+((String[]) results.elementAt(row))[col]); } public Vector getVector() { return results; }
public void setQuery(String q, Connection conn) { results = new Vector(); try { queryResults = ReadDB3.searchQuery(q, con); ResultSetMetaData meta = queryResults.getMetaData(); colCount = meta.getColumnCount(); headers = new String[colCount]; for (int h=1; h <= colCount; h++) headers[h-1] = meta.getColumnName(h); while (queryResults.next()) { String[] record = new String[colCount]; for (int i=0; i < colCount; i++) { record = queryResults.getString(i + 1); } results.addElement(record); } fireTableChanged(null); } catch(Exception e) { results = new Vector(); e.printStackTrace(); } }
}
|
|