Widget for enabling dynamic page size selection on yii2 GridView
Switch branches/tags
Clone or download
nterms Merge pull request #6 from abdullah-s/master
"pageSizeParam" parameter not changing the name of the input of the widget
Latest commit ccb2147 Nov 26, 2015
Failed to load latest commit information.
LICENSE.md License added Aug 8, 2014
PageSize.php PageSize's "pageSizeParam" Fix Nov 26, 2015
README.md Update README.md Oct 9, 2015
composer.json Namespace changed Nov 12, 2014



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

Latest Stable Version Total Downloads Latest Unstable Version License


The preferred way to install this extension is through composer.

Either run

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

or add

"nterms/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 \nterms\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