2014-04-09 3 views
0

어제 내 프로젝트에서 javafx를 배우기 시작했습니다. 데이터베이스에서 javafx로 데이터를 가져 오는 것을 빨리 배우려고합니다. 오늘은이 좋은 노력 http://blog.ngopal.com.np/2011/10/19/dyanmic-tableview-data-from-database/ 의 TableView하는 DB에서 쿼리를 바인딩하는 방법을 예를 들어 걸릴 내 기능에테이블 뷰 셀 편집 방법

public void buildData(){ 
    Connection c ; 
    data = FXCollections.observableArrayList(); 
    try{ 
     c = DBConnect.connect(); 
     String SQL = "SELECT * from tabela"; 
     ResultSet rs = c.createStatement().executeQuery(SQL); 
     for(int i=0 ; i<rs.getMetaData().getColumnCount(); i++) { 
      //We are using non property style for making dynamic table 
      final int j = i;     
      TableColumn col = new TableColumn(rs.getMetaData().getColumnName(i+1)); 
      col.setCellValueFactory(new Callback<CellDataFeatures<ObservableList,String>,ObservableValue<String>>() {      
       public ObservableValue<String> call(CellDataFeatures<ObservableList, String> param) { 
        return new SimpleStringProperty(param.getValue().get(j).toString());       
       }      
      }); 

      t.getColumns().addAll(col); 
      System.out.println("Column ["+i+"] "); 
     } 

     /******************************** 
     * Data added to ObservableList * 
     ********************************/ 
     while(rs.next()){ 
      //Iterate Row 
      ObservableList<String> row = FXCollections.observableArrayList(); 
      for(int i=1 ; i<=rs.getMetaData().getColumnCount(); i++) { 
       //Iterate Column 
       row.add(rs.getString(i)); 
      } 
      System.out.println("Row [1] added "+row); 
      data.add(row); 
     } 

     //FINALLY ADDED TO TableView 
     t.setItems(data); 
    }catch(Exception e){ 
     e.printStackTrace(); 
     System.out.println("Error on Building Data");    
    } 
} 

을 클릭 한 후 셀을 편집 할 수없는 이유 지금은 찾고. 내가 원하는 변화 란 무엇인가?

+1

[Oracle JavaFX TableView tutorial] (http://docs.oracle.com/javase/8/javafx/user-interface-tutorial/table-view.htm#CJAGAAEE)에는 TableView 데이터 편집에 관한 섹션이 있습니다. – jewelsea

+0

나는 이것에보고있다. 그러나 나는 이것을 놓친다. Thx 도움. – seti

답변

0

t.setEditable (true), 여기가 TableView 개체입니다. 더 자세한 정보/코드가 없으면 시도 할 첫 번째 시도입니다. 모든 TableColumn 객체에 대해 동일합니다.