【发布时间】:2012-01-31 09:28:33
【问题描述】:
我正在使用 jqgrid 并启用了简单搜索。我想知道是否有一种方法可以在选择的字段列表中添加一个在网格中不作为列存在的附加项目。我将其称为“任何字段”,这样我就可以搜索任何字段,然后处理该结果服务器端。
【问题讨论】:
我正在使用 jqgrid 并启用了简单搜索。我想知道是否有一种方法可以在选择的字段列表中添加一个在网格中不作为列存在的附加项目。我将其称为“任何字段”,这样我就可以搜索任何字段,然后处理该结果服务器端。
【问题讨论】:
Bethrezen 建议使用一个隐藏列是您可以使用的一种方式。你只应该不要忘记使用searchhidden: truesearchoptions。
我建议您在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();
}
});
在演示中,我扩展了jqFilter 方法的p.columns 参数,并添加了“伪列”“任何字段”。这只是我希望您可以采用的想法来满足您的确切要求。
【讨论】:
尝试添加新的隐藏列并将 hidedlgand hidden 设置为 true,viewable 设置为 false。
文档链接:http://www.trirand.com/jqgridwiki/doku.php?id=wiki:colmodel_options
【讨论】: