Turbogears-pagination
TurboGears –ページネーション
TurboGearsは、ページの出力を分割するpaginate()と呼ばれる便利なデコレーターを提供します。 このデコレータは、expose()デコレータと組み合わされます。 @Paginate()デコレータは、クエリ結果の辞書オブジェクトを引数として受け取ります。 また、ページあたりのレコード数は、items_per_page属性の値によって決定されます。 tg.decoratorsからコードにpaginate関数をインポートしてください。
次のようにroot.pyのlistrec()関数を書き換えます-
1ページあたりの項目は3つに設定されています。
studentlistlテンプレートでは、py:forディレクティブの下にtmpl_context.paginators.entries.pager()を追加することにより、ページナビゲーションが有効になります。 このテンプレートのコードは次のようになります-
ブラウザに http://localhost:8080/listrec と入力します。 テーブル内のレコードの最初のページが表示されます。 この表の上部には、ページ番号へのリンクも表示されます。
ページネーションサポートをDatagridに追加する方法
データグリッドにページネーションのサポートを追加することもできます。 次の例では、ページ分割されたデータグリッドはアクションボタンを表示するように設計されています。 アクションボタンをアクティブにするために、データグリッドオブジェクトは次のコードで構築されます-
ここで、アクションボタンは、データグリッドの各行の名前パラメーターにリンクされています。
次のように* showgrid()*関数を書き直します-
ブラウザには、ページ分割されたデータグリッドが次のように表示されます-
3行目の[編集]ボタンをクリックすると、次のURLにリダイレクトされます http://localhost:8080/edit?name = Rajesh + Patil