【Jquery】【控件】flexigrid 自定义查询

时间:2021-01-17 09:04:55

最近用flexigrid作报表,需要自定义条件进行查询,界面如下:

【Jquery】【控件】flexigrid 自定义查询

翻了半天文档也没找到如何用POST方法自行传递参数进行查询。

找了一个*人写的博客,却要改flexigrid的源代码,更不靠谱。

后来在*上发现解决方法。

代码如下:

var postData = {
"AreaCode": areaCode,
"HasChild": hasChild,
"CarId": carId,
//....
};
var params = [];
for (var item in postData) {
params.push({
"name": item,
"value":postData[item]
});
}
$('#flex1').flexOptions({ params: params }).flexReload();

flexigrid的刷新方法是调用flexReload()。在刷新前传入参数。

需要注意的是,params必须是name-value格式的数组,否则在POST的时候,flexigrid将无法解析参数。

调用flexReload后,我们会看到flexigrid将自定义的参数Post到服务器上。

【Jquery】【控件】flexigrid 自定义查询

另外我还写了一个获取参数的小插件:

(function ($) {
$.fn.flexGetParams = function (p) {
// 插件 获取flexigrid的params
var p, params;
this.each(function () {
if (this.grid) p = this.p;
});
params = {
page: p.newp,
rp: p.rp,
sortname: p.sortname,
sortorder: p.sortorder,
qtype: p.qtype,
query: p.query
}; return params;
}
})(jQuery);