dieruckus/yii2-pagesize-widget

Widget for enabling dynamic page size selection on GridView


Keywords
extension, widget, yii2, grid-view, page-size
License
MIT

Documentation

yii2-pagesize-widget

PageSize widget is an extension to the Yii2 GridView that enables changing the size of a page on GridView.

Installation

The preferred way to install this extension is through composer.

Either run

php composer.phar require --prefer-dist integready/yii2-pagesize-widget "*"

or add

"integready/yii2-pagesize-widget": "*"

to the require section of your composer.json file.

Usage

To use this widget with a GridView, add this widget to the view where the GridView is:

<?php echo \integready\pagesize\PageSize::widget(); ?>

and set the filterSelector property of GridView as shown in following example.

<?= GridView::widget([
     'dataProvider' => $dataProvider,
     'filterModel' => $searchModel,
		'filterSelector' => 'select[name="per-page"]',
     'columns' => [
         ...
     ],
 ]); ?>

Please note that per-page here is the string you use for pageSizeParam setting of the PageSize widget.

Configurations

Following properties are available for customizing the widget.

  • label: Text for the lbel
  • defaultPageSize: This value will be used if there's no page size selected
  • pageSizeParam: The name of the page size parameter used for the pagination widget in your grid view
  • sizes: An array of key values to be used as page sizes. Both kay and value should be integers
  • template: A template string to be used for rendering the elements. Default is '{list} {label}'
  • options: HTML attributes for the <select> element
  • labelOptions: HTML attributes for the <label> element
  • encodeLabel: Whether to encode label text

License

MIT