我有这个界面
我希望当我在“Buscar”文本字段中写入时,表中的数据会根据查询进行更改,到目前为止,我已将此代码填充到表中
Statement st=null;
ResultSet rs;
try{
Connection miConexion= (Connection) Conectar.GetConnection(); //conexion de la base de datos que se manda llamar
st = (Statement) miConexion.createStatement();
data = FXCollections.observableArrayList();
rs = st.executeQuery("select * from accesorios ");
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<TableColumn.CellDataFeatures<ObservableList,String>,ObservableValue<String>>(){
public ObservableValue<String> call(TableColumn.CellDataFeatures<ObservableList, String> param) {
return new SimpleStringProperty(param.getValue().get(j).toString());
}
});
tableView.getColumns().addAll(col);
System.out.println("Column ["+i+"] ");
}
/********************************
60
* Data added to ObservableList *
61
********************************/
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
tableView.setItems(data);
}catch(Exception e){
e.printStackTrace();
System.out.println("Error on Building Data");
}
}
如果你能给我一些如何做的指导,那将非常感谢你的帮助
答案 0 :(得分:0)
好问题。您可能不是唯一面临此问题的人,但我还没有看到类似的问题。 对我来说,它可用于这样的数据库查询:
try {
//
statement= Main.conn.prepareStatement("Select programme,hersteller from softwarearchivtabelle where programme like '*" +
textfieldSearch.getText()
+ "*' OR hersteller like '*"+ textfieldSearch.getText()
+ "*';");
rs=statement.executeQuery();
while(rs.next()) {
Software softwaredb= new Software(rs.getString(1),rs.getString(2));
softwareliste.add(softwaredb);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
tableviewSoftwarearchiv.setItems(softwareliste);
}
这也很有趣,在没有sql查询的情况下如何执行此操作,但只过滤了@James_D这样的表视图,但这在我的搜索栏中无法正常工作