【问题标题】:How to change the default value of Grid page size in Kendo UI?如何在 Kendo UI 中更改 Grid 页面大小的默认值?
【发布时间】:2016-04-20 15:00:13
【问题描述】:

我是 Kendo UI 的新手。我的代码如下。

@(Html.Kendo().Grid<ETS.Model.CompanyList>()
    .Name("grid")
    .Columns(columns =>
    {
        columns.Bound(c => c.CompanyID).Title("Name").Template(@<text>@Html.ActionLink(@item.Name, "Company", "Companies", new { @id = @item.CompanyID }, new { @style = "color:black; text-decoration: none;" })</text>);
        columns.Bound(p => p.City).Title("Billing City");
        columns.Bound(p => p.SalesRep).Title("Sales Rep");
        columns.Bound(p => p.Phone).Title("Company Name");
    })
    .Pageable(pageable => pageable
         .PageSizes(true)
         .ButtonCount(5)
         .Refresh(true)
    )
    .Sortable()                       
    .HtmlAttributes(new { style = "height: auto;" })
    .BindTo(Model.Companies)
)

默认情况下,网格上显示 5 个项目。有什么办法可以将默认值更改为 20 吗?

【问题讨论】:

    标签: kendo-ui telerik


    【解决方案1】:

    通常您会在您的DataSource 上使用PageSize() function 设置:

    @(Html.Kendo().Grid<Product>()
        .Name("grid")
        .DataSource(dataSource => dataSource
            .Ajax() 
            .Read(read => read.Action("Products_Read", "Home"))
            .PageSize(20)
        )
    )
    

    或者您可以尝试将可用的PageSizes() 限制为仅 20 个:

    .Pageable(pageable => pageable.PageSizes(new int[] {20}) ...)
    

    另外,它可以通过 Javascript API 设置:

    var grid = $("#grid").data("kendoGrid");
    grid.dataSource.pageSize(20);
    grid.refresh();
    

    【讨论】:

    • 您的回答让我可以更改页面的值,但它没有将 20 设置为默认值。框中的值为 20,但仅显示 5 项。
    • 您是否尝试过明确设置数据源并使用.DataSource(ds =&gt; ds.Server().PageSize(20)) 来查看是否有所作为?
    • 如何通过默认的 JSON 初始化器来初始化它:var grid = $("#grid").kendoGrid({ ... }); ... 不是有这个目的的参数吗?
    猜你喜欢
    • 2012-07-05
    • 1970-01-01
    • 2015-09-13
    • 1970-01-01
    • 2013-09-30
    • 2016-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多