我们如何从javafx中的tableview获取行? 我们有一个tableview,其中包含一个包含复选框的列。根据复选框选择,我们必须将一行标记为灰色。我们该怎么做呢 ??任何帮助将不胜感激!
我们尝试了以下代码
table1 = tableview的名称
列零是带复选框的列,其值必须被检索,并且我们必须以灰色突出显示
TableColumn calltypel = table1.getColumns().get(0);
calltypel.setCellFactory(column -> {
return new TableCell<Data, Boolean>() {
@Override
protected void updateItem(Boolean item, boolean empty) {
super.updateItem(item, empty);
setText(empty ? "" : getItem().toString());
TableRow<Data> currentRow = getTableRow();
if (!isEmpty()) {
if(item)
currentRow.setStyle("-fx-background-color:#C3C3C3;");
table1.setStyle("-fx-border-color: #A6A6A6; -fx-border-width:1px ;");
}
}
};
});
我们的目标是:我们必须勾选几行,然后点击一个按钮说&#34;完成&#34;并发布它应该保持灰色,直到应用程序结束。
以上代码有效,但这会导致永久绑定。我们勾选一个复选框,然后点击完成,该行变为灰色。之后,绑定是永久性的,即,当我们检查复选框时,它是灰色的,并根据原始表行列取消选中其白色/粉红色。
请帮忙!