javascript - 剑道 UI 网格 : I lose pagination after datasource refresh

标签 javascript c# pagination kendo-grid

我在 cshtml 文件中有这个定义:

@{Html.Kendo().Grid<OrderItem>()
    .Name("OrderList")                                            
    .Columns(columns => {
                       .........
                    })
    .DataSource(binding => binding
        .Ajax()
        .PageSize(14)
        .Model(model => model.Id(p => p.No))
        .Read(read => read.Action("SearchSalesOrder", "SalesOrder"))        
    )
    .Sortable()
    .Pageable()
    .Filterable()
    .Scrollable()
    .Render();
}

在 Controller 中我使用.ToDataSourceResult(request)并且它工作得很好(网格有分页)。当我必须更改数据源时就会出现问题。发生这种情况是因为用户可以过滤、搜索...我通过 Ajax 调用具有更多参数的相同方法“SearchSalesOrder”。使用 Javascript,我从响应中获取 json,并以这种方式更改数据源:

var dataSource = new kendo.data.DataSource({
    data: result.Data,
    pageSize: 14
});
grid.setDataSource(dataSource);
grid.refresh();

此后,寻呼机仅显示一页。我需要更改数据源以保持分页。

谢谢。

最佳答案

我想我明白了。 很简单。我必须在 schema 中添加 total 属性。基本上在 Javascript 中,当我需要更改数据源时,我有以下代码:

var grid = $("#OrderList").data("kendoGrid");
var dataSource = new kendo.data.DataSource({
    transport: {
        read: {
                url: '/Sales/SearchSalesOrder',
                type: 'POST',
                data: {
                    page: 1, pageSize: 14, startDate: startDateParam, endDate: endDateParam,.....
                }
        }
    },
    pageSize: 14,
    serverPaging: true,
    schema: {
        parse: function (response) {
            // Charts refresh
            .......

            return response.Data;
        },
        total: function (response) {
            return response.Total;
        },
        data: "Data"
    }
});
grid.setDataSource(dataSource);
grid.refresh();

它有效。 :)

关于javascript - 剑道 UI 网格 : I lose pagination after datasource refresh,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37073786/

相关文章:

c# - 从 WPF C# 中的 For 循环调用用户定义的函数

pagination - 对 redshift 查询进行分页的最佳方式是什么?

ruby-on-rails - 在没有 will_paginate gem 的情况下在 Ruby 中实现分页

javascript - 尝试在表格中显示数组(Javascript + html)

javascript - 从 codepen 实现 GTA5-parallax-pen

javascript - Node npm package throw use strict : command not found after publish and install globaly

javascript - 如何读取json数组?

c# - (SQL)替换 DataGridView 中的 NULL 值的有效方法?

c# - 避免在客户端提交表单

php - 在第 32 行出现 fatal error : Call to a member function query() on a non-object in C:\wamp\www\quotes\paginator. php