我想创建一个带有 linkki framework 的表在我的应用程序中。我知道我可以使用 ContainerPmo 类来定义表,但是如何传递数据以显示为行?
最佳答案
首先,如果您有一个带有 UI <-> PMO <-> DomainModel 的经典 linkki 设置,那么使用 SimpleTablePmo
会更容易。而不是 ContainerPmo。它包装了 ItemSupplier,这样您只需调用 super 构造函数并实现一个方法。
如果您选择使用SimpleTablePmo
,您只需将域模型对象列表传递给 SimpleTablePmo
实现的构造函数即可。如果在显示表格时列表内容会发生变化,请考虑使用 Supplier<List<DMO>>
而不是简单地提供一个列表。
对于列表中的每个域模型对象,都会使用 createRow(...)
创建一个新的表示模型对象 (PMO)。 。因此这个方法也必须实现。在大多数情况下,此方法非常简单
protected AnyPmo createRow(AnyDmo m) {
return new AnyPmo(m);
}
在每次 UI 更新时,绑定(bind)都会检查模型元素列表(在第二种情况下调用供应商来获取列表)。如果列表未更改(相同的对象仍然以相同的顺序存在),则绑定(bind)仅更新现有字段的内容。如果列表发生更改,它将删除所有行并使用 createRow` 创建新的 pmos。
关于java - 如何将数据传递到 linkki-framework 中的表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48404171/