Kendo UI Grid JSON数据重新加载中断了传呼机

时间:2018-07-02 04:41:09

标签: kendo-ui kendo-grid

我有一个kendo网格,它从json对象中获取数据。网格使用数据的json对象实例化,然后在sort / page / group / filter上我想重新加载数据。我迷上了单击第2页(例如)后触发OK的数据源更改事件,然后将新数据存储在json对象中,并将网格数据源指向该新数据,即  -响应分页触发数据源更改事件  -在事件处理程序中进行ajax调用以获取新的json对象  -成功的ajax调用将重新加载网格数据源

网格可以很好地加载新数据,但是寻呼机随后中断,显示 仅1页(有10页)和“ NaN-NaN of 10 items”。我尝试了多种方法来重新加载数据,例如

$.ajax(...).success: function(result){
var grid = $('#kendo').data("kendoGrid");
var arrData = eval('[' + result.data + ']'); // my new data
var arrSchema = eval(result.schema);
var totalRecs = result.totalRecs;

var ds = BuildDataSource(arrData, arrSchema, totalRecs); // returns a kendo ui datasource object
ds.read();

grid.setDataSource(ds);
grid.refresh();
}

function BuildDataSource(arrData, jsonFields, totalRecs) {

            var ds = new kendo.data.DataSource({
                change: onDataChange,
                data: arrData,
                schema: {
                    total: function (data) {                           
                        return totalRecs;
                    },
                    model: {
                        id: "KendoModel",
                        fields: jsonFields
                    },
                    serverPaging: true,
                    serverSorting: true,
                    serverGrouping: false,
                    serverFiltering: true

                }
            });

            return ds;

}  

这成功地重新加载了数据,但是如前所述,寻呼机的值被搞砸了。我正在新数据源的架构部分中定义总值。有谁知道如何以这种方式重新加载数据源的json对象,并且仍然使寻呼机正确显示?网络上有许多关于如何实现此目标的建议,但没有一个起作用。

0 个答案:

没有答案