1

groovyで記述されたアプリケーションがあり、結果のセットのページネーションに問題があります。

ReportingControllerというコントローラーがあります。このコントローラーには 、 listdoiTlnlistdoiEvという2つのメソッドがあります。どちらの方法も似ており、最後に両方ともレポートのリストをレンダリングする必要があります。両方の最後の行は次のとおりです。

params.max = Math.min(params.max ? params.max.toInteger() : 15,  100)             
render (view: 'list', model:[reportingInstanceList: reportingInstanceList, reportingInstanceTotal: i])

リストビューは期待どおりにレンダリングされます。list.gspファイルのフッターにあります:

<div class="paginateButtons">
    <g:paginate controller="reporting" total="${reportingInstanceTotal}" max="25"/></div>
</div>

リストは機能しており、ページネーションのボタンはありますが、コレクション全体が常に表示されます。listdoiTln.gspまたはlistdoiEv.gspと呼ばれるファイルがないことに注意してください。さまざまなデータモデルでlist.gspを使用しています。

確かに私は何か間違ったことをしている。

ヒントはありますか?

前もって感謝します。

ルイス

4

1 に答える 1

1

私もこれでしばらく悩みました。これを試して:

コントローラーで param.offset を評価します。

params.offset = params?.offset?.toInteger() ?: 0

モデルにパラメーターを含めます。

render (view: 'list', model:[reportingInstanceList: reportingInstanceList, reportingInstanceTotal: i, params: params])

reportingInstanceTotalの値が期待する値かどうかを確認します。それはしばらくの間私をつまずかせました。

それでもうまくいかない場合は、私に連絡するか、grails generate-allコマンドによって生成された list.gsp ページの 1 つとそれに関連するコントローラーを調べてみてください。

ページネーション ボタンは非常に優れていますが、ドキュメントがほとんどなく、設定に予想以上に時間がかかります。

于 2009-12-16T05:48:37.650 に答える