我正在使用jqgrid并启用了简单搜索。我想知道是否有一种方法可以在选择的字段列表中添加一个额外的项目,该列表不作为网格中的列存在。我会称之为“任何字段”,因此我可以搜索任何字段,然后处理结果服务器端。
答案 0 :(得分:1)
尝试添加新的隐藏列并将hidedlgand hidden设置为true,可查看为false。
文档链接:http://www.trirand.com/jqgridwiki/doku.php?id=wiki:colmodel_options
答案 1 :(得分:1)
Bethrezen建议使用一个隐藏列是您可以使用的一种方法。您只应该忘记使用searchhidden: true
searchoptions。
我可以建议您在the demo上看到的另一种方式:
在演示中我添加了
var defaultFilters = {
"groupOp": "AND",
"rules": [
{ "field": "All", "op": "cn", "data": ""}
]
};
...
$('#list').jqGrid('navGrid', '#pager', {add: false, edit: false, del: false},
{}, {}, {},
{
multipleSearch: true,
overlay: 0,
onInitializeSearch: function ($form) {
$form.jqFilter('addFilter', defaultFilters);
},
afterRedraw: function (p) {
if (p.columns.length === $("#list")[0].p.colModel.length) {
p.columns.push({
name: 'All',
label: 'Any Field',
searchoptions: {},
searchrules: {},
searchtype: 'string',
inputtype: 'text'
});
}
//$(this).find('.delete-rule:first').hide();
}
});
在演示中,我扩展了p.columns
方法的jqFilter
参数和附加的“伪列”'任意字段'。我希望您可以根据自己的具体要求采用这个想法。