以前はテーブルビューを使用していませんでした。私はJavaとJavaFXでかなり新しいです。私は例をミラーリングしようとしましたが、データが家で作成されたdbクライアントから来ているので、それを正確にコピーできませんでした。とにかく、私のデータはテーブルに入っていますが、csvデータのように見えるようになり、各列はそれぞれの列に入れられません。ここJavaFX Tableviewにデータを書き込む
for (Column col : drs.getColumns()){
TableColumn tblCol = new TableColumn(col.getName());
tblCol.setCellValueFactory(new Callback<CellDataFeatures<ObservableList,String>,ObservableValue<String>>(){
public ObservableValue<String> call(CellDataFeatures<ObservableList, String> p) {
return new SimpleStringProperty(p.getValue().toString());
}
});
table.getColumns().addAll(tblCol);
}
取得列、ここで行を取得する:ここに私の質問を明確にするスクリーンショットである
while (drs.hasNextRow()) {
ObservableList<String> row = FXCollections.observableArrayList();
for (int i = 0; i < drs.getColumns().length; i++) {
row.add(drs.getNextRow().getItem(i) + "");
}
data.add(row);
}
は、そして、ここでデータを送信する時に、私は失敗するところでありますテーブルに。そうのような
table.setItems(data);
System.out.println("dis is data: " +data);
データプリント:
dis is data: [[data, data, data....], [data, data, data....], [data, data, data....]]
はそれぞれ[行]を取得し、各レコードの各カラムにそれを置きます。私は私が見えるようにデータを必要とすると仮定しています:
[[data], [data], [data]....[data]], [[data], [data], [data]....[data]], [[data], [data], [data]....[data]]
} catch(Exception e){
e.printStackTrace();
System.out.println("everything is broken");
}
}
だから、私は失われています。私は何をしているのか分からず、私があなたに提供できる助けに感謝します。
はそんなにありがとう:
また、あなたは、行ごとに1つの行を使用する必要があります!私はそれが今は別のクエリを入力するときにそれはテーブルの古いものの右側に新しいクエリを追加する作業があります。 – anshanno
@anshanno:あなたの入力データ構造はわかりませんが、疑わしいときは新しいデータを設定する前に 'TableView'の項目とカラムをクリアすることができます... – fabian
これは魅力的です。 – anshanno