【发布时间】:2012-11-07 17:41:11
【问题描述】:
我需要在不使用内置 UI 的情况下在 jqgrid 中本地过滤数据。我遵循了 Oleg 在帖子 jqGrid Filtering Records 中给出的答案。它对我的设置进行了一些更改,就像一个魅力。但是,我似乎无法让它适用于记录格式化的字段。 jqgrid 数据是远程的。
从jqGrid Filtering Records 发布代码示例,因为这几乎就是我所拥有的:
$("#search").click(function() {
var searchFiler = $("#filter").val(), grid = $("#list"), f;
if (searchFiler.length === 0) {
grid[0].p.search = false;
$.extend(grid[0].p.postData,{filters:""});
}
f = {groupOp:"OR",rules:[]};
f.rules.push({field:"name",op:"cn",data:searchFiler});
f.rules.push({field:"note",op:"cn",data:searchFiler});
grid[0].p.search = true;
$.extend(grid[0].p.postData,{filters:JSON.stringify(f)});
grid.trigger("reloadGrid",[{page:1,current:true}]);
});
在我的例子中,字段“名称”在 jqgrid 中格式化:
{name:"name", index:"name", width:250, align:'left',
formatter: function(cellvalue, options, rowObject)
{
return rowObject.Data[0]['userName'];
}
},
...
jsonReader : {
repeatitems:false,
root: 'rows',
userdata: 'rows'
},
loadonce: true,
viewrecords: true,
autowidth: true,
multiselect: false,
height: 500,
rowNum: 999,
subGrid: true,
我们对后端进行一次查询,并将数据存储在“行”中,以便在子网格中显示。
非常感谢任何指针。
谢谢,
阿莎
【问题讨论】: