KendoUI:点击按钮后重新网格数据到第一页(KendoUI: resetting grid da

2019-07-04 01:02发布

我有以下情形:

在我的网页我有一个网格(带分页)界到数据源。 当我按一下按钮“提取”网格被填充(通过Web服务分页读取数据)。 然后,我通过网分页选择“2页”。 同样,Web服务调用返回的数据。

现在我想点击“提取”再次,要在第一页上加载和显示数据。 我不知道这是最好的方式。

我想就只需一个电话到服务(与输入参数),并在重置了电网分页指数。

我现在用下面的代码:

$("#btnExtract").bind("click", function(e) {
    var grid = $("#section-table").data("kendoGrid");
    grid.dataSource.read( {parameter: "value"} );
    grid.dataSource.page(1);
});

但它实际上使得两次调用服务。

Answer 1:

如果你是做服务器端分页应该够做grid.dataSource.page(1)因为这将调用read完全按照你已经实现。



Answer 2:

出于某种原因,如果页面被设置为1,并且再次设置为1,它会做一读。 如果是1以外的东西,把它设置为1,它就会转到该网页,而不是做一读。 因此,要回答你的问题,你可以使用此代码:

if (grid.dataSource.page() != 1) {
   grid.dataSource.page(1);
}
grid.dataSource.read( {parameter: "value"} );


Answer 3:

仅执行一个请求,你应该使用查询的数据源的方法。 它允许你创建的不同方法,如过滤器/页/排序等组合

例如:

dataSource.query({ page: 5, pageSize: 20, sort: { field: "orderId", dir: "asc" } });


Answer 4:

使用DataSource.query()方法传递的页码和您的自定义输入参数:

$("#btnExtract").bind("click", function(e) {
    var grid = $("#section-table").data("kendoGrid");
    grid.dataSource.query( { page: 1, parameter: "value"} );
});

如果您使用服务器端分页,然后排序,你可能需要包括的信息,以及:

$("#btnExtract").bind("click", function(e) {
    var grid = $("#section-table").data("kendoGrid");

    var queryParams = {
        page: 1,
        pageSize: grid.dataSource.pageSize(),
        sort: grid.dataSource.sort(),
        group: grid.dataSource.group(),
        filter: grid.dataSource.filter(),
        parameter: "value"
    };

    grid.dataSource.query(queryParams);
});


Answer 5:

定义一个parameterMap的为你的剑道电网数据源读取操作,这种进入该传输元件,如下图所示。 然后调用grid.dataSource.page(1),这将调用阅读,你应该进行排序。

   new kendo.data.DataSource({      
transport: {
                   read: {
                          // ur read
                          },
           parameterMap: function (o, operation) {
                         var output = null;
                         switch (operation) {
                                    case "create":
                                    break;
                                case "read":
                                    output =  {parameter: "value"};
                                    break;
                                case "update":
                                    break;
                                case "destroy":
                                    break;
                        }
                     return output;             }}});


文章来源: KendoUI: resetting grid data to first page after button click