栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何用数据库数据填充TableView

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何用数据库数据填充TableView

这是将数据从数据库填充到tableView的最佳解决方案。

import java.sql.Connection;import java.sql.ResultSet;import javafx.application.Application;import javafx.beans.property.SimpleStringProperty;import javafx.beans.value.Observablevalue;import javafx.collections.FXCollections;import javafx.collections.ObservableList;import javafx.scene.Scene;import javafx.scene.control.TableColumn;import javafx.scene.control.TableColumn.CellDataFeatures;import javafx.scene.control.TableView;import javafx.stage.Stage;import javafx.util.Callback;public class DynamicTable extends Application{    //TABLE VIEW AND DATA    private ObservableList<ObservableList> data;    private TableView tableview;    //MAIN EXECUTOR    public static void main(String[] args) {        launch(args);    }    //ConNECTION DATAbase    public void buildData(){          Connection c ;          data = FXCollections.observableArrayList();          try{ c = DBConnect.connect(); //SQL FOR SELECtING ALL OF CUSTOMER String SQL = "SELECT * from CUSTOMer"; //ResultSet 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());}   });     tableview.getColumns().addAll(col);      System.out.println("Column ["+i+"] "); }  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"); }      }      @Override      public void start(Stage stage) throws Exception {        //TableView        tableview = new TableView();        buildData();        //Main Scene        Scene scene = new Scene(tableview);        stage.setScene(scene);        stage.show();      }}

这是参考

谢谢..



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/387635.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号