我想知道您如何设置最大分页结果,下面的代码继续将最大结果设置为默认值10。我想要25个。任何想法吗?
def list(Integer max) {
def recoverySetupList = RecoverySetup.createCriteria().list {
'in'("division", userService.getDivisions())
maxResults(Math.min(max ? : 25, 100))
firstResult(params.offset ? params.int('offset') : 0)
if( params.sort && params.order ) {
if(params.sort != 'peNameU') {
order params.sort, params.order
} else {
oneSolName {
order params.sort, params.order
}
}
}
}
respond recoverySetupList, model:[recoverySetupInstanceCount: RecoverySetup.count()]
}
你好像把它修好了。应该工作,所以问题在别处,例如,在哪里设置了默认的最大值10,max
是否分配了任何值,params.max
呢?
您可以尝试将max和offset传递到列表- ..createCriteria().list(max: max, offset: offset)
和去除maxResults
和firstResult
从标准体
我认为你的代码第一次工作很好(当没有提供max时),但是当你按下任何分页链接时,它被设置为10。如果是这样的话,你还需要设置pagination标签的max,比如
<g:paginate max="25" total="${recoverySetupInstanceCount}"/>
请使用
params.max = Math.min(params.max ? params.int('max') : 25, 100)
int offset = 0;
if(params.offset != null) {
offset = (Integer.valueOf(params.offset));
}