这是我的JS Grid的JS代码
$(function() {
$.ajax({
type : "GET",
url : "/Final/Reports?value=2016-03-03&value2=2017-03-03"
}).done(function() {
$("#jsGrid").jsGrid({
height : "auto",
width : "100%",
filtering: true,
sorting : true,
paging : true,
autoload : true,
pageSize : 3,
controller : {
loadData : function(filter) {
return $.ajax({
type : "GET",
url : "/Final/Reports?value=2016-03-03&value2=2017-03-03",
data : filter
});
},
},
fields : [ {
name : "patientId",
type : "text",
width : 150
}, {
name : "patientName",
type : "text",
width : 150
}, {
name : "genderId",
type : "number",
width : 150
}, {
name : "mobile",
type : "number",
width : 150
}, {
type : "control"
} ]
});
});
});
我是JS网格的新手,我使用servlet
获取数据,并在网格中显示。但我不知道如何过滤数据。
有什么想法吗?
答案 0 :(得分:0)
客户端过滤和服务器端过滤完全开启 开发者的肩膀。
loadData
中实施的客户端过滤 控制器的方法。服务器端显然是用服务器实现的 接收过滤参数的脚本,并使用它们来获取 数据,并传递给客户端。这就是为什么你可以使用客户端和 服务器端过滤同时进行。这是你的方式 在这种情况下,
controller.loadData
方法看起来像:
loadData: function(filter) {
var d = $.Deferred();
// server-side filtering
$.ajax({
type: "GET",
url: "/items",
data: filter,
dataType: "json"
}).done(function(result) {
// client-side filtering
result = $.grep(result, function(item) {
return item.SomeField === filter.SomeField;
});
d.resolve(result);
})
return d.promise();
}