我昨天开始为我的项目学习javafx。我试着快速学习如何将数据从数据库传输到javafx。今天,我从如何将查询从db绑定到tableview http://blog.ngopal.com.np/2011/10/19/dyanmic-tableview-data-from-database/这是一个很好的例子,现在我来看看为什么我的函数
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");
}
}单击后无法编辑单元格。我需要什么零钱?
发布于 2014-04-14 15:16:18
t.setEditable(true),其中是您的TableView对象。没有进一步的信息/代码,这是第一次尝试。每个TableColumn对象都是相同的。
https://stackoverflow.com/questions/22968595
复制相似问题