0
32カラムのデータベースから動的なテーブルビューを作成したいのですが、最初のカラムには従業員の名前と31日目(チェックボックス)から従業員の出席をマークする残りのカラムが含まれます。使用して2列(名前、チェックボックス)をデータベースからテーブルビューを移入することができ得るとmethods.Hereを設定します。これは、User.javajavafxはチェックボックス付きのデータベースから動的なテーブルビューを取り込みます
public class User {
private final SimpleStringProperty ename;
private BooleanProperty day1;
User(String Ename,boolean day1)
{
this.ename = new SimpleStringProperty(Ename);
this.day1 = new SimpleBooleanProperty(day1);
this.day1.addListener(new ChangeListener<Boolean>() {
public void changed(ObservableValue<? extends Boolean> ov, Boolean t, Boolean t1) {
System.out.println(enameProperty().get() + " invited: " + t1);
System.out.println();
}
});
}
public String getEname() {
return ename.get();
}
public void setEname(String Ename) {
ename.set(Ename);
}
public BooleanProperty day1Property() {
return day1;
}
public StringProperty enameProperty() {
return ename;
}
ある
String sql ="SELECT * FROM attendence";
pst = (PreparedStatement) con.prepareStatement(sql);
rs=pst.executeQuery();
while (rs.next()) {
//get string from db,whichever way
String name=rs.getString(3);
int day=rs.getInt(6);
data.add(new User(name,day!=0)); //converting integer to boolean and storing on data(Observable list)
}
etname.setCellValueFactory(new PropertyValueFactory<>("name"));
col.setCellValueFactory(new PropertyValueFactory<>("day1));
col.setCellFactory(new Callback<TableColumn<User, Boolean>, TableCell<User, Boolean>>() {
public TableCell<User, Boolean> call(TableColumn<User, Boolean> p) {
return new CheckBoxTableCell<User, Boolean>();
}
});
jTable.getColumns().add(etname,col);
jTable.setItems(data);
}
私コードです210
CheckBoxTableCell.java
public class CheckBoxTableCell<S, T> extends TableCell<S, T> {
private final CheckBox checkBox;
private ObservableValue<T> ov;
public CheckBoxTableCell() {
this.checkBox = new CheckBox();
this.checkBox.setAlignment(Pos.CENTER);
setAlignment(Pos.CENTER);
setGraphic(checkBox);
}
@Override public void updateItem(T item, boolean empty) {
super.updateItem(item, empty);
if (empty) {
setText(null);
setGraphic(null);
} else {
setGraphic(checkBox);
if (ov instanceof BooleanProperty) {
checkBox.selectedProperty().unbindBidirectional((BooleanProperty) ov);
}
ov = getTableColumn().getCellObservableValue(getIndex());
if (ov instanceof BooleanProperty) {
checkBox.selectedProperty().bindBidirectional((BooleanProperty) ov);
}
}
}
}
しかし、私は32列で何ができるか全く分かりません。 私は2つの問題について誰かから大きな助けが必要です。私はボタンが
- JHON真真偽のように選択されたすべてのチェックボックスの状態とともに名前(isSelectedかどうか)をお読みくださいを押したとき、私はチェックボックス2)でデータベースから動的なテーブルビューを移入するにはどうすればよい 1) ... ....
は偽偽真... ..
ジョージ真真真偽
回答をいただければ幸いです。事前に感謝します。 .. ..
すごいを使用することができますデータベース –
Ok.Nowのコードを見て、私は答えを更新しました –
うわあ、あなたが私の日を救ってくれてありがとう –