如何获取Kendo网格页面更改选项?

时间:2016-08-22 08:54:17

标签: angularjs kendo-grid asp.net-core-webapi

我已经完成了为我的web api设置kendo UI网格(angularJs版本)。我已经包括了严重的分页。它为每个页面更改的请求发送take,skip,page和pageSize选项。

这里我想在api中创建自己的搜索模型,将这些值绑定到JS对象,然后将数据发布到服务器。

我想知道我是否可以获取与网格关联的事件的值,例如:page change,pageSize。

我要发送的自定义数据字段:`

    public class SearchModel 
{
    ....
    .......
    public int PageNo { get; set; }
    public int PageSize { get; set; }
    public string SortOrder { get; set; }
    public string SortColumn { get; set; }
}

因此需要填充服务器端的这些指定字段。为此,可以在JS中使用这些相同的字段创建对象,并且应该从网格分页事件中填充值。像pageNo和页面大小。

如何使用角度js?

2 个答案:

答案 0 :(得分:1)

检查一下。

var grid = $('#test_grid').data('kendoGrid');
var pager = grid.pager;
pager.bind('change', test_pagechange);

function test_pagechange(e){
   console.log(e);
}

你也可以试试这个

页面更改时会触发

dataBound事件。您可以使用网格dataSource的page()方法获取当前页面索引。

$("#grid").data("kendoGrid").dataSource.page();

另请参阅文档http://docs.telerik.com/kendo-ui/api/javascript/ui/pager#events-change

答案 1 :(得分:0)

通常,您可以使用dataSource.transport.read.data配置(http://docs.telerik.com/kendo-ui/api/javascript/data/datasource#configuration-transport.read.data)将值添加到kendo数据源参数,而不是提取数据源参数并添加自己的参数。

看一下这个例子http://dojo.telerik.com/@Stephen/uXAjU。这是一个用于远程数据绑定的修改过的kendo网格演示。

我只是添加了read.data配置dataSource的传输配置:

transport: {
    read: {
      url: "//demos.telerik.com/kendo-ui/service/Northwind.svc/Orders",
      data: customData
    }
}

其中customData是(您可以在此处添加搜索模型中的参数):

function customData() {
    return {
        custom1: 1,
        custom2: "Two",
        custom3: new Date()
    };
}

现在,只要网格查询远程服务,它就会传递数据源功能中构建的参数,即分页/过滤/分组参数,以及自定义transport.read.data方法返回的数据。 查看开发工具网络选项卡,看看customData是否附加到网格/数据源读取请求。