jul*_*_am 6 kendo-ui kendo-grid
我正在使用kendo网格,并希望在服务器中执行过滤,排序和分页.我明白我应该添加到dataSource:
serverPaging: true,
serverSorting: true
Run Code Online (Sandbox Code Playgroud)
但是我如何告诉grid/dataSource它应该用于哪个url进行sortig,过滤等等.如果我想自己执行sortig怎么办?我想使用控制kendo提供但是自己去服务器.有没有像"sortTriggered"这样的事件,我可以称之为"prevntDefault"或类似的东西......我不知道.
看看这个示例。它使用适用于 Windows Azure 的 MobileServices javascript api,但向您展示了如何自行处理服务器分页和排序。
http://jsbin.com/efeKiwO/11/edit
在数据源的传输函数上,每个方法(读取、更新、创建、销毁)都可以配置为一个函数(这是读取函数,它处理任何排序和分页)。
read: function(options) {
// Get the table
var table = client.getTable("Customer");
// Build base query
var query = table.includeTotalCount();
// Add paging
if(options.data.skip !== undefined && options.data.take !== undefined) {
query = query.skip(options.data.skip).take(options.data.take);
}
// Add sorting
if(typeof options.data.sort !== "undefined" && options.data.sort !== null) {
for(var i = 0; i< options.data.sort.length; i++) {
if(options.data.sort[i].dir === "desc") {
query = query.orderByDescending(options.data.sort[i].field);
}
else {
query = query.orderBy(options.data.sort[i].field);
}
}
}
var promise = query.read();
promise.done(function(data) {
options.success(data);
});
},
Run Code Online (Sandbox Code Playgroud)
在这个函数中你可以做任何你喜欢做的事情。您可以进行 $.getJSON 调用、$.ajax 调用或您想要执行的任何其他操作,而不是使用像本示例这样的 javascript 库。该函数的参数对象将包含分页、排序和过滤所需的所有内容。获得数据后,只需调用 options.success(dataSet); 使用正确排序/分页的数据集,您的网格将绑定到它。
| 归档时间: |
|
| 查看次数: |
24059 次 |
| 最近记录: |