【发布时间】:2018-07-17 17:45:07
【问题描述】:
我有一个显示数据的数据表,但排序不起作用。
问题是,这些记录没有getFieldName getter,而是getValue('FieldName')。这使我可以在不重新编译的情况下更改架构。
例如,一个这样的字段是日期。
我想要一些技巧来使这段代码工作,而不必为每个表创建自定义 bean,因此与物理数据模型紧密耦合。
<p:column headerText="Date" sortBy="#{r.getValue('date')}">
<h:outputText value="#{r.getValue('date')}" />
</p:column>
【问题讨论】:
-
我认为最好切换到lazyLoading并在sortBy或其他一些被剥离并仅返回“日期”的假EL中声明
#{bla.date}。 -
对于bla.date,bla需要实现一个getDate()方法,对吧?如果是这样,这就是我想避免的。数据访问层不知道应用层表的字段名称。因此,如果不为每个数据库表或视图创建特定的 bean,我就无法拥有一个可排序的表。
-
不,它没有 iirc... 第一部分被剥离,在lazyDataModel 的加载方法中,只有日期被传递。 'bla' 可以是任何东西(至少可以是)。
-
如果你能写一些示例代码......但我会研究延迟加载,谢谢!
-
这一切都在 PrimeFaces 手册中,展示(记得使用两者的 4.0 版本)PrimeFaces 论坛和 stackoverflow 以及互联网的其余部分......如果你有实际的编码问题,我愿意提供帮助。
标签: primefaces