当您注释掉' sopt'以及带有filtertoolbar的选项的网格正常工作。选项,但没有取消注释的选项
我提出jsfiddle here。在我的真实网格中,我在$.extend($.jgrid.defaults,{})
之外的所有网格中指定了cmTemplate,但仍会导致同样的问题
$('#Table').jqGrid({
cmTemplate: {
searchoptions: {
// sopt: ['eq', 'ne', 'cn'] //un comment this line then run again and try to use filtere to see the difference
}
},
datatype: 'local',
data: [{
Code: 'code1'},
{
Code: 'code2'},
{
Code: 'code3'}],
colNames: ['Code'],
colModel: [{
name: 'Code',
index: 'Code'}],
pager: '#Pager'
}).jqGrid('filterToolbar', {
searchOnEnter: false,
defaultSearch: 'cn'
}).trigger('reloadGrid');
答案 0 :(得分:1)
我没有在代码中看到任何问题。如果你设置
cmTemplate: {
searchoptions: { sopt: ['eq', 'ne', 'cn'] }
}
您在没有设置的所有列中添加searchoptions.sopt
。工具栏过滤每列只能使用一个搜索操作。 jqGrid使用defaultSearch
filterToolbar
参数进行搜索,但是为了能够对某些列进行另一次搜索操作,可以从searchoptions.sopt
数组的第一个操作覆盖它(参见{{3 }} 例如)。
这是非常重要的功能,因为它确实需要。
因此,在所有列中包含searchoptions: { sopt: ['eq', 'ne', 'cn'] }
选项几乎会覆盖defaultSearch: 'cn'
到filterToolbar
的选项defaultSearch: 'eq'
。完全按照你发布的演示的方式工作。