我有一个链接到MySQL数据库的jXTable。我正在使用DefaultTableModel。我到目前为止用户可以编辑表格中的数据。我一直试图添加一个"插入新行"按钮但不成功。与此同时,我想每次用户更新表时,我都可以在表的末尾添加一个空行。我能够使用addRow()方法得到我的空行,但它不可编辑。到目前为止,这是我的代码。有关如何使空行可编辑的任何提示?
public void rowSetChanged(RowSetEvent event) {
Object[] record;
Object[] emptyrow;
String [] columnNames=new String [] {"DATE RECEIVED", "INCOME NAME",
"DESCRIPTION", "AMOUNT", "FUND ALLOCATION"};
DefaultTableModel dtm=new DefaultTableModel(columnNames,0){
Class[] types = new Class [] {
java.sql.Date.class, java.lang.String.class, java.lang.String.class,
java.lang.Object.class, java.lang.Float.class, java.lang.String.class};
public Class getColumnClass(int columnIndex) {
return types [columnIndex];
}
};
try {
IncomeUI.frs.beforeFirst();
while (IncomeUI.frs.next()){
record=new Object[]{IncomeUI.frs.getDate("DateReceived"),
IncomeUI.frs.getString("IncomeName"), IncomeUI.frs.getString("Description"),
IncomeUI.frs.getBigDecimal("Amount"),IncomeUI.frs.getString("FundAllocation")};
dtm.addRow(record);
}
} catch (SQLException ex) {ex.printStackTrace();}
emptyrow = new Object[]{" ", " ", " ", " ", " "};
dtm.addRow(emptyrow);
this.setModel(dtm);
this.setShowHorizontalLines(false);
this.setShowVerticalLines(false);
IncomeUI.jScrollPane2.setViewportView(this);
//System.out.println(event.toString());
}
答案 0 :(得分:0)
嗯,不是100%修复,但它确实有效。我最后只是添加代码来添加一个带有假数据的新行(例如"编辑我")。用户可以重新编辑它。它现在有效。