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?

Platform: ASP.NET MVC |
Control: Grid |
Published Date: May 3, 2017 |
Last Revised Date: May 10, 2017

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.

 

2X faster development

The ultimate ASP.NET MVC UI toolkit to boost your development speed.
ADD COMMENT
You must log in to leave a comment
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.

Please sign in to access our KB

This page will automatically be redirected to the sign-in page in 10 seconds.

Up arrow icon

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