We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. (Last updated on: November 16, 2018).
Unfortunately, activation email could not send to your email. Please try again.
Syncfusion Feedback

How to place dropdown in Grid`s pager to control page size?

You can place a dropdown in the Grid pager using pager template feature along with the default pager and on change event of the dropdown, change the page size through set model of Grid.

 

Initially, append some li elements in the div tag and assign them as a targeID for the ejDropDownList and also include the input element in the e-pagercontainer.

 

 

 

ASPX

 

Code behind

 

MVC Razor

 

Controller

 

Within the dataBound event render the DropDownList and bind change event. In the change event, update the pageSize of the Grid through set model as follows.

 

 

The following screenshot will be displayed as the result of the above code example.

 

Figure: Dropdown in the Grid’s pager using pager template.

 

Article ID: Published Date: Last Revised Date: Platform: Control:
7695 05/03/2017 05/10/2017 ASP.NET MVC Grid
Did you find this information helpful?
Comments
Chris Morris Aug 22, 2017

What goes in the "Datasource: pagerData"?

function change(args) {
        var gridObj = $("#Grid").ejGrid("instance");
        gridObj.option({ "pageSettings": { pageSize: parseInt(args.text) } });
        gridObj.getPager().find("input").ejDropDownList({
            selectedIndex: args.itemId,
            change: "change",
            dataSource: pagerData
        });
}


Reply
Chris Morris Aug 22, 2017

In JavaScript you need to define:  

var pagerData = [ 

                { text: "10", value: 10 }, 
                     . . . 
    ]; 
Reply
Seeni Sakthi Kumar Seeni Raj [Syncfusion] Aug 23, 2017

Hi Chris,

 

We can bind the dataSource to the DropDownList control as text/value pair as shown in the following code example.

 

    <script type="text/x-jsrender" id="template">

        <div class="e-pagercontainer">

            <input type="text" id="pager" />

        div>

    script>

 

    <div id="Grid">div>

    <script type="text/javascript">

        $(function () {

            $("#Grid").ejGrid({

                allowPaging: true,

                dataBound: 'dataBound',

                pageSettings: { enableTemplates: true, template: "#template", showDefaults: true },

            });

        });

        var pagerData = [

            { text: "9", value: 9 },

              . . .

                      ..

        ];

        function dataBound(args) {

            $('#pager').ejDropDownList({

                change: "change",

                value: this.model.pageSettings.pageSize,

                dataSource: pagerData

            });

        }

        function change(args) {

            var gridObj = $("#Grid").ejGrid("instance");

            gridObj.option({ "pageSettings": { pageSize: parseInt(args.text) } });

            gridObj.getPager().find("input").ejDropDownList({

                selectedIndex: args.itemId,

                change: "change",

                dataSource: pagerData

            });

        }

    script>

 

Refer to the sample demo, http://jsplayground.syncfusion.com/iosigynl

 

Regards,

Seeni Sakthi Kumar S.

Add Comment
You must log in to leave a comment

Warning Icon You are using an outdated version of Internet Explorer that may not display all features of this and other websites. Upgrade to Internet Explorer 8 or newer for a better experience.Close Icon