【问题标题】:kendo UI Grid MVC initial pagekendo UI Grid MVC 初始页面
【发布时间】:2012-12-06 09:15:45
【问题描述】:

我正在使用 Kendo UI Grid。有没有办法在与第一页不同的页面开始网格? 每次打开网格时,我都想将初始页码设置为“3”。

【问题讨论】:

    标签: asp.net-mvc kendo-ui


    【解决方案1】:

    我建议您将 Grid 的 AutoBind 属性设置为 false 并在文档就绪事件发生时使用 page 方法dataSource(实际上是 pager.page 调用的内容)。

    $('#MyGrid').data().kendoGrid.dataSource.page(3);
    

    您使用的 Data 函数的用途略有不同 :)

    【讨论】:

    • 感谢@Pechka!我最终按照你说的做了,只是略有不同。我将 AutoBind 设置为 false,然后使用以下代码 - $("#MyGrid").data("kendoGrid").dataSource.query({ page: 3, pageSize: myGrid.pager.pageSize() });它基本上做同样的事情,但语法略有不同。
    • 实际上,在初始页面加载时它根本不起作用: $('#MyGrid').data().kendoGrid.dataSource.page(3);只有 $("#MyGrid").data("kendoGrid").dataSource.query({ page: 3, pageSize: myGrid.pager.pageSize() });实际上适用于初始页面加载场景。 (我在我的应用程序的其他地方使用 datasource.page() ,但从不设置初始页面。)
    【解决方案2】:

    我使用 ajax 数据源,我需要这样做:

    1. 将 AutoBind 设置为 false
    2. 设置数据源的总记录数
    3. 通过javascript调用数据源的page()方法

    这是我的观点的片段(我使用剃须刀): 注意:在操作中,我在 ViewBag 中设置了两个值:

    • ViewBag.InitialPage:要显示的初始页面
    • ViewBag.Total:总记录数

    .

    @{
        int initialPage = (int)ViewBag.InitialPage;
        int totalPages = (int)ViewBag.Total / 20;
    }
    
    @(Html.Kendo().Grid<YourModelClass>
        ()
        .Name("gridMain")
        .Columns(columns =>
        {
            //Todo: Add your columns
        })
        .Pageable(p => p.Refresh(true).Info(true).Input(true).ButtonCount(6).Numeric(true))
        .Sortable()
        .Scrollable()
        .Filterable()
        .DataSource(dataSource => dataSource
            .Ajax()
            .PageSize(20)
            .Read(read => read.Action("YourAction", "YourController"))
            .Total(ViewBag.Total) //Set the total record count
        )
        .AutoBind(false)        
    )
    
    <script type="text/javascript">
        $(function () {
            var initialPage = @initialPage;
            $('#gridMain').data().kendoGrid.dataSource.page(initialPage);
        })
    </script>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-02
      • 1970-01-01
      • 1970-01-01
      • 2012-12-24
      • 2023-03-13
      • 1970-01-01
      相关资源
      最近更新 更多