2014-04-12 6 views
1

MySQL 데이터베이스에 연결된 jXTable이 있습니다. 나는 DefaultTableModel을 사용하고있다. 지금까지 사용자가 테이블의 데이터를 편집 할 수 있습니다. "Insert New Row"버튼을 추가하려고했지만 실패했습니다. 그동안 사용자가 테이블을 업데이트 할 때마다 테이블 끝에 빈 행을 추가 할 수 있다고 생각했습니다. addRow() 메서드를 사용하여 빈 행을 가져올 수 있었지만 편집 할 수는 없습니다. 지금까지 제 코드가 있습니다. 빈 행을 편집 가능하게하는 방법에 대한 정보는 무엇입니까?빈 행을 JXTable에서 편집 가능하게 만드는 방법

 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

글쎄, 100 % 수정은 아니지만 작동합니다. 나는 가짜 데이터 (예 : "Edit Me")를 사용하여 새 행을 추가하는 코드 만 추가했다. 사용자는 단지 그것을 다시 편집 할 수 있습니다. 그것은 현재 작동합니다.

관련 문제