我有一个域类,它包含SomeObject字段的ArrayList和一些其他非列表字段。
domain类有一个list.gsp文件,它显示表中DB的所有元素,表中的所有列都定义为sortedColumn。
我需要处理的问题是如何对ArrayList列进行排序。
我在list函数中的前一个代码是:
params.sort = params.sort ? params.sort : 'name' params.order = params.order == 'desc' ? params.order : 'asc' params.max = Math.min(params.max ? params.max.toInteger() : 10, 100) params.offset = params.offset ? params.int('offset') : 0 ArrayList<MyObject> myObjectList = MyObject.list(params) [myObjectList: myObjectList, myObjectListTotal: MyObject.count()]
在哪里可以特别注意还使用分页的ArrayList列? 因为我设法处理代码并采用这种方式:
if (params.sort == "specialCare") { params.offset = params.offset ? params.int('offset') : 0 params.max = Math.min(params.max ? params.max.toInteger() : 10, 100) ArrayList<MyObject> myObjectList = MyObject.list(params) myObjectList.sort{ listToString(it.getProperty(params.sort)) } if (params.order == "desc") myObjectList.reverse(true) [myObjectList: myObjectList, myObjectListTotal: MyObject.count()]<br> }
现在的问题是如何处理分页情况并且每页获得10行。 我为所有页面获得了相同的结果。