2012-06-08 62 views
0

我想在TableView中顯示一系列金融交易。每個交易由一個日期,一個描述和一個金額組成。Javafx-2 tableview與無文本單元格綁定

如果我將所有單元格作爲文本使用其他問題的回覆中顯示的示例處理,則可以使用綁定進行此項工作。這允許在細胞編輯這是我的目標。

但我不能讓它在日期和金額列上工作,我想我需要一個單獨的單元格工廠爲每個單元格類型和可能一個單獨的updateItem方法,但我卡住了。

任何指向示例或建議的指針都會有所幫助。

回答

1

您可能需要在檢查出的DataFX項目: http://www.javafxdata.org/ 和專門的細胞工廠,如: http://www.javafxdata.org/javadoc/org/javafxdata/control/cell/TextFieldCellFactory.html

DataFX包含自定義細胞工廠的幾種數據類型,表格,列表和樹視圖。假設例如您的金額有雙重類型,您可以在TableColum 的子類中替換類似的內容(用代表表中某一行的類的類名替換???):

setCellFactory(TextFieldCellFactory.<???, Number>forTableColumn(new Callback<String,Number>(){ 
     @Override 
     public Number call(String newValueStr) { 
      double newValue = Double.parseDouble(newValueStr); 
      return newValue;  
    })); 

setOnEditCommit(new EventHandler<CellEditEvent<???, Number>>() { 
     @Override 
     public void handle(CellEditEvent<???, Number> t) { 
      double newValue = t.getNewValue().doubleValue(); 
      // do something with the double value the user entered here  
     } 
    }); 
} 

}

我希望至少能給你一些方向。爲了清晰起見,我省略了異常處理。

相關問題