如何更新或更改表格原始数据';在不使表格可编辑的情况下在javafx中设置值?
我非常沮丧,尝试了很多次,但都没有成功。 我试图在用户更改按钮时更改javafx表raw的特定值。假设表中有一个特定的原始值是10,那么如果用户按下一个按钮,该值将被更改为20,但是我怎么做呢?如何更新或更改表格原始数据';在不使表格可编辑的情况下在javafx中设置值?,javafx,tableview,Javafx,Tableview,我非常沮丧,尝试了很多次,但都没有成功。 我试图在用户更改按钮时更改javafx表raw的特定值。假设表中有一个特定的原始值是10,那么如果用户按下一个按钮,该值将被更改为20,但是我怎么做呢? 但是这个简单的技术在JavaSwing中非常容易。请帮助我在javafx中做同样的事情。您不直接更新表单元格的值。而是修改基础数据模型值 查看调用TableView.setItems()时传递给TableView的是什么类型的列表。您要更新的就是该数据类型 例如,假设您有一个表视图,其中包含人对象的列表
但是这个简单的技术在JavaSwing中非常容易。请帮助我在javafx中做同样的事情。您不直接更新
表单元格的值。而是修改基础数据模型值
查看调用TableView.setItems()
时传递给TableView
的是什么类型的列表。您要更新的就是该数据类型
例如,假设您有一个表视图
,其中包含人
对象的列表
:
public class Person {
private final StringProperty name = new SimpleStringProperty();
private final StringProperty email = new SimpleStringtProperty();
public Person (String name, String email) {
this.name.set(name);
this.email.set(email);
}
public String getName() {
return name.get();
}
public StringProperty nameProperty() {
return name;
}
public void setName(String name) {
this.name.set(name);
}
public String getEmail() {
return email.get();
}
public StringProperty emailProperty() {
return email;
}
public void setEmail(String email) {
this.email.set(email);
}
}
因此,您有了您的列表
,并使用它来填充您的表格视图
:
tableView.setItems(FXCollections.observableArrayList(persons));
现在,当您的用户单击按钮
或您希望用新值更新表格视图
时,您将更新个人
对象:
person.setEmail("me@home.com");
一旦该属性发生更改,TableView
将更新以反映新值
这是一个高级概述/示例。如果您需要更详细的帮助,请编辑您的问题,并包括一个演示您正面临的确切问题
阅读上的帮助文章也是明智的。也许这会有所帮助:特别是,请查看:lastnamecommuln.setCellValueFactory(newPropertyValueFactory(“lastName”)@红葡萄酒-恐怕这与OP的问题无关…谢谢你,西风,我尝试了另一种方法,以及如何更新我的桌子视图“Alhamdulillah”。可能是信,我会在这里添加代码“真主”。