Grails分页不起作用



我花了一周的时间试图解决这个分页问题,但没有得到好的结果,

我的控制器里有这个

    PatientController{
    def show(Long id) {
    def patientInstance = Patient.get(id)
    if (!patientInstance) {
        flash.message = message(code: 'default.not.found.message', args: [message(code: 'patient.label', default: 'Patient'), id])
        return
    }

    def historyInstance = History.findAllByPatient(patientInstance)
    def total = historyInstance.size()

    [historyInstance: historyInstance,patientInstance: patientInstance,historyInstanceTotal: total]

    }
}

我在视图上有这个代码

    <g:each in="${historyInstance}" var="historyInstances" status="i">
      ...
    </g:each>
    <div class="pagination">
        <g:paginate  total="${historyInstanceTotal}"/>
    </div>

我使用了params,即<g:paginate>上的最大值,我尝试了所有方法,但没有结果,它总是在视图中显示整个历史集。

您需要将params传递给您正在使用的查找器,否则它将不知道如何分页。<g:paginate>标记仅用于显示分页链接,而不是实际执行分页。此外,total将需要使用countBy,因为结果集将限于结果的当前页面。

def historyInstance = History.findAllByPatient(patientInstance, params)
def total = History.countByPatient(patientInstance)

相关内容

  • 没有找到相关文章

最新更新