Widget for enabling dynamic page size selection on GridView

v2.0.3 2017-02-25 11:55 UTC

This package is auto-updated.

Last update: 2021-12-29 02:28:14 UTC


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


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.


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.


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