我已经完成了为我的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?
答案 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是否附加到网格/数据源读取请求。