我正在Liferay 6.1中尝试使用动态数据列表。数据定义和列表编辑器工作正常,但我在准备模板以显示列表时遇到问题。特别是我想知道如何实现显示的排序和分页,因为列表最终会变长。
让我们从订购开始吧。从理论上讲,下面的模板应该使用getRecords方法,该方法允许使用OrderByComparator(http://bit.ly/MqsGNE),但工厂在哪里可以创建所需的比较器?
#set ($ddlRecordsUtil = $serviceLocator.findService("com.liferay.portlet.dynamicdatalists.service.DDLRecordLocalService"))
#set ($recordSetId = $getterUtil.getLong($reserved_record_set_id.data))
## How to create an OrderByComparator which would ORDER_BY_text2132_DESC ??
#set ($orderBy = ???????????)
#set ($records = ${ddlRecordsUtil.getRecords($recordSetId,-1,-1,50, $orderBy)})
<ul>
#foreach ($record in $records)
#set ($name = $record.getField("text2132").getValue())
<li><em>${name}</em></li>
#end
</ul>
我是否遗漏了某些内容,是否有其他方法可以在从数据库中提取这些列表之前对其进行排序?
答案 0 :(得分:0)
#set ($records = ${ddlRecordsUtil.getRecords($recordSetId,-1,-1,50,ORDER_BY_text2132_DESC)})
试试这个,这样可行。