안녕하세요, 저는 작동하지만 작동하지 않는 코드를 JTable에서 업데이트했습니다.새로 고침 JTable 항목
try {
insertRows();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
invTable.setAutoCreateRowSorter(true);
invTable.setBorder(javax.swing.BorderFactory.createEtchedBorder());
invTable.setModel(modelx);
invTable.getTableHeader().setReorderingAllowed(false);
insertRows는 양식이 시작될 때 호출되며 내 데이터베이스의 행으로 공백 테이블을 채 웁니다.
나는 데이터베이스에 새 항목을 추가하는 추가 단추에이 코드를 추가하려고 시도했습니다.
modelx.fireTableDataChanged();
하지만 내 테이블은 업데이트되지 않습니다. 어떻게 제대로 업데이트 할 수 있습니까? 당신의 modelx.fireTableDataChanged();
데이터베이스에 새 항목을 추가,
private void insertRows() throws SQLException, Exception{
modelx = new DefaultTableModel();
modelx.addColumn("Name");
modelx.addColumn("ID");
modelx.addColumn("Weight");
modelx.addColumn("Doctor");
modelx.addColumn("Supplier");
modelx.addColumn("Department");
modelx.addColumn("Cost");
modelx.addColumn("Price");
modelx.addColumn("Quantity");
modelx.addColumn("Threshold");
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
database = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=D:\\floresClinic.accdb;";
conn = DriverManager.getConnection(database, "", "");
s = conn.createStatement();
rs = s.executeQuery("SELECT * FROM medItem ");
int cou = 0;
while(rs.next())
{
s1 = rs.getString("productName");
s2 = rs.getString("productID");
s3 = rs.getString("productWeight");
s4 = rs.getString("doctor");
s5 = rs.getString("sName");
s6 = rs.getString("department");
s7 = rs.getString("unitCost");
s8 = rs.getString("unitPrice");
s9 = rs.getString("quantity");
s0 = rs.getString("threshold");
if(!s1.equals("1")){
modelx.insertRow(0, new Object [] {s1, s2, s3, s4, s5, s6, s7, s8, s9, s0});
//String[] itemize ={s1,s2,s3,s4,s5,s5,s7,s8,s9,s0};
//System.out.println(s1+s2);
//modelx.addRow(itemize);
}
cou++;
}
}
입니다 내부 사용만을위한 것입니다. [문제를 나타내는 실행 가능한 예제] (https://stackoverflow.com/help/mcve)를 제공하는 것을 고려하십시오.이 작업은 추측이 적고 더 나은 응답을 생성합니다. – MadProgrammer