JavaFX TableView for SQL数据库访问 - 有多少工厂?

时间:2013-11-28 18:39:52

标签: javafx

我的团队正在评估JavaFX作为数据库应用程序的平台,该应用程序将大量使用TableView。我们的印象是,为了在表中显示数据,我们必须对TableView进行子类化,并为我们将需要的每种列数据类型和表示模式编写自己的ValueFactory类。

例如,如果我们想要将位字段显示为是/否文本和开/关复选框,我们需要2个ValueFactories或一个ValueFactory和两个CellFactories作为位数据类型。

Q1:我们的理解是否正确?

Q2:是否存在允许我们简单地将其TableView版本的数据绑定属性设置为ResultSet的3d方库,并自动显示数据并略微调整显示模式?

随着评估的进行,还会出现更多问题。

问题3:Willl我们必须为每个SQL查询创建一个数据行类,并为每个类创建一个ObservableList,这意味着每次我们更改返回的列时,我们都必须重写数据行类?我们是否必须通过将结果集保存在内存中并在滚动时重新填充ObservableLists来实现分页?

1 个答案:

答案 0 :(得分:0)

Q1 - 对于每一列,您应该指定valueFactory - 非常简单。如果您不想将值显示为默认值,则可以指定cellfactory - 不是那么容易。我认为最佳实践是创建自己的类,它将扩展TableView,您将指定所需的一切。您也可以创建自己的TableCell类等。我认为这项工作在开发javafx应用程序时并不那么难。

Q2 - 我不知道,但我会创建自己的课程。

Q3 - Observablelist应包含您的实体类。每个查询都应返回实体对象列表。值工厂链接到某个实体对象属性。