grails分页最大结果

时间:2015-07-20 17:34:36

标签: grails groovy

我想知道你如何设置最大分页结果,我的代码在下面继续将最大结果设置为默认值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()]
}

3 个答案:

答案 0 :(得分:0)

你好像正确。应该工作,所以问题出在其他地方,例如默认最大值为10的位置,max是否已分配任何值,params.max怎么办?

您可以尝试将max和offset传递到列表中.. ... createCriteria().list(max: max, offset: offset)并从条件正文中删除maxResultsfirstResult

答案 1 :(得分:0)

我认为你的代码第一次工作正常(当没有提供最大值时),但当你按任何分页链接然后它被设置为10.如果是这样,那么你必须设置分页标记中的最大值,如< / p>

<g:paginate max="25" total="${recoverySetupInstanceCount}"/>

答案 2 :(得分:0)

  

请使用此

$file_data = $this->upload->data();
$file_path =  './uploads/productfile/'.$file_data['file_name'];
include 'Classes/PHPExcel/IOFactory.php';
$inputFileName = $file_path; 
$objPHPExcel = PHPExcel_IOFactory::load($inputFileName);
$allDataInSheet = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true);
$arrayCount = count($allDataInSheet);  // Here get total count of row in that Excel sheet
for($i=2;$i<=$arrayCount;$i++)
{                   
    'product'=$allDataInSheet[$i]["C"],
    'brand'=$allDataInSheet[$i]["I"],
    'standard'=$allDataInSheet[$i]["J"],
}