我在一个应用程序中使用了几个jqGrids,并注意到在启用过滤器工具栏时我觉得奇怪的行为。我需要让工具栏使用通配符匹配(即"包含")。
但是,当我设置网格并且用于加载网格的一些数据对于某些列具有空值时,网格将通过键入" null","来过滤这些值。在列的工具栏字段中,nu"," u"," l"," ll"等。当过滤器的默认搜索是" cn" (包含)。
当默认搜索设置为" eq"时,不会发生此行为。 (等于),例如,上述任何组合都不会显示网格中的任何行。
我在
设置了一个小提琴https://jsfiddle.net/parramorej/ejnrtocw/
来说明问题。我将一个本地数据集加载到网格中,其中一些值为null。默认搜索是" cn",即
$("#test1").jqGrid('filterToolbar', {
autosearch: true,
stringResult: true,
searchOnEnter: true,
defaultSearch: "cn"
}
您可以通过键入" null"来查看行为。进入具有空列值的工具栏字段。如果默认搜索是" eq",则不会发生。
这是jqGrid中的故意特征还是一个bug?如果它是一个功能,是否有一个选项可以禁用它,必须在过滤时指定完全匹配?
提前致谢...
屏幕截图示例: