我的所有数据都在模板中呈现。我想在我的页面上添加分页。 这里如果我的控制器代码
def addset={
def set=QuestionSet.findAllByUserId(session.user)
params.max = Math.min(params.int('max') ?: 5, 100)
def totalset=QuestionSet.countByUserId(session.user)
def totalsetlist = QuestionSet.list(fetch: [userId: session.user])
respond totalsetlist , model:[totalsetCount: totalset,set:set]
}
这是我的观点
<div class="tbody">
<div id="form">
<g:render template="form" />
</div>
</div>
<div class="pagination">
<g:paginate total="${totalsetCount?: 0}" />
</div>
此处呈现到模板中的数据是表单模板
<g:each in="${set}">
<g:formRemote name="editfrom" update="form"
url="[controller: 'questions', action:'editset']">
<g:hiddenField name="setid" value="${it.id}" />
<div class="tr">
<div class="td">
<g:textField id="text${it.id}" class="text" name="setname"
required="" disabled value="${it.name}" />
</div>
<div class="td">
${it.totalquestion}
</div>
<div class="td">
<label class="label label-info"> ${it.name}
</label>
</div>
<div class="td">
<label id="edit${it.id}" class="edit">Edit</label>
<g:submitButton id="save${it.id}" class="save" name="save" />
</div>
<div class="td">
<label class="label label-danger">Delete</label>
</div>
</div>
</g:formRemote>
</g:each>
分页div显示但是分页不起作用。我不知道如何解决这个问题。我没有找到任何好的例子。任何人都可以帮助我解决这个问题。 Thanx
答案 0 :(得分:1)
您需要检查参数偏移量,并且需要像这样更新您的查询:
def totalsetlist = QuestionSet.createCriteria().list{
order("${params.order ?: 'id'}"
maxResults(params.max)
firstResult(params.offset ?: 0)
}
我没有使用fetch,但我认为你可以通过自己来实现