How to change page size dynamically in Kendo UI Gr

2019-02-05 21:44发布

I am having a Kendo UI grid showing more than 1000 data. I also have a dropdown list for different page size - 15, 25, 50, 100. On selection of a page size, how can we change the page size of Kendo UI grid?

6条回答
聊天终结者
2楼-- · 2019-02-05 22:08

Here's the latest using ASP.NET MVC Helper

.Pageable(pager => pager.PageSizes(new int[] {20, 50, 100})) // Enable paging
查看更多
迷人小祖宗
3楼-- · 2019-02-05 22:09

To expand on Rick Glos' answer:

You can set the Pageable PageSizes to an array of generic objects, so you can have an "All" option without having to set pageSizes in JavaScript.

.Pageable(pager => pager.PageSizes(new object[] {20, 50, 100, "All"}))
查看更多
霸刀☆藐视天下
4楼-- · 2019-02-05 22:17

http://docs.kendoui.com/api/wrappers/php/Kendo/UI/GridPageable

$pageable = new \Kendo\UI\GridPageable();
$pageable->pageSizes(array(20,50,100));
查看更多
爷、活的狠高调
5楼-- · 2019-02-05 22:23

You can set the page size in the combobox change event. (Also see JSBin example.)

$("#comboBox").kendoComboBox({
    dataTextField: "text",
    dataValueField: "value",
    dataSource: [
        { text: 1 },
        { text: 2 },
        { text: 3 },
        { text: 4 },
        { text: 5 }
    ],
    change: function(e) {
      var grid = $("#grid").data("kendoGrid");
      grid.dataSource.pageSize(parseInt(this.value()));  // this.value() being the value selected in Combo
    }
});
查看更多
Evening l夕情丶
6楼-- · 2019-02-05 22:30

Its also built into the latest version of the grid by doing the following in js

pageable: {
    pageSizes: [10, 25, 50, 100]
}

http://docs.kendoui.com/api/web/pager

查看更多
你好瞎i
7楼-- · 2019-02-05 22:31

Rick has told it in a good way a more explained if some one misses where is it to be done here is a code piece to know where is it to be done with a screen short snap

@(Html.Kendo().Grid(Model)
      .Name("SiteUserGrid")
      .Columns(columns =>
          {
              columns.Bound(u => u.LastName).Title("Last Name");
              columns.Bound(u => u.FirstName).Title("First Name");
              columns.Bound(u => u.UserName).Title("User Name");
              columns.Bound(u => u.EmailAddress).Title("Email Address");
              columns.Bound(u => u.AccessLevel).Title("Access Level");
              columns.Bound(u => u.Status).Title("Status");
              columns.Bound(u => u.UserId).Filterable(f => f.Enabled(false)).ClientTemplate(actionColumnTemplate).Title("Action").Sortable(false).Width(190);
          })
      .Pageable(pageable => pageable.ButtonCount(10))

.Pageable(pager => pager.PageSizes(new int[] {5,10,15,20,30,50,100}))

      .Selectable(selectable => selectable.Mode(GridSelectionMode.Single))
      .Sortable()
      .Filterable(filterable => filterable
                                    .Extra(false)
                                    .Operators(operators => operators
                                                                .ForString(str => str.Clear()
                                                                                     .StartsWith("Starts with")
                                                                                     .Contains("Contains")
                                                                                     .IsEqualTo("Is equal to")
                                                                ))

Hope this helps

查看更多
登录 后发表回答