Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery jqGrid过滤器工具栏过滤掉网格数据中的空值_Jquery_Jqgrid - Fatal编程技术网

Jquery jqGrid过滤器工具栏过滤掉网格数据中的空值

Jquery jqGrid过滤器工具栏过滤掉网格数据中的空值,jquery,jqgrid,Jquery,Jqgrid,我在一个应用程序中使用了几个jqGrids,并注意到在启用过滤器工具栏时出现了一种奇怪的行为。我需要让工具栏使用通配符匹配(即“包含”) 但是,当我设置一个网格,并且用于加载网格的某些数据的某些列具有空值时,网格将通过在该列的工具栏字段中键入“null”、“nu”、“u”、“l”、“ll”等来过滤掉这些值。当过滤器的默认搜索为“cn”(contains)时,会发生这种情况 当默认搜索设置为“eq”(等于)时,不会发生此行为,例如,上面的任何组合都不会显示网格中的任何行 我在家里摆弄了一把小提琴

我在一个应用程序中使用了几个jqGrids,并注意到在启用过滤器工具栏时出现了一种奇怪的行为。我需要让工具栏使用通配符匹配(即“包含”)

但是,当我设置一个网格,并且用于加载网格的某些数据的某些列具有空值时,网格将通过在该列的工具栏字段中键入“null”、“nu”、“u”、“l”、“ll”等来过滤掉这些值。当过滤器的默认搜索为“cn”(contains)时,会发生这种情况

当默认搜索设置为“eq”(等于)时,不会发生此行为,例如,上面的任何组合都不会显示网格中的任何行

我在家里摆弄了一把小提琴

来说明这个问题。我正在将一个本地数据集加载到网格中,其中一些值为null。默认搜索为“cn”,即:

您可以通过在工具栏字段中键入“null”并使用null列值来查看行为。如果默认搜索为“eq”,则不会发生

这是jqGrid中的故意特性还是bug?如果它是一个功能,是否有一个选项在过滤时必须指定精确匹配来禁用它

先谢谢你

截图示例:


使用的jqGrid版本是4.6.0。我已经验证了这仍然发生在v4.7.1中。使用的jQuery版本是1.10.4。在我们的应用程序环境中,这种行为发生在Google Chrome和Internet Explorer 11中(IE 11是应用程序用户的官方版本,但我们在测试中主要使用Chrome)。您应该在问题文本中写入所有信息。您可以单击问题下方的“编辑”链接并修改文本。关于你的问题。首先,您不应使用
addRowData
填充网格,而应使用
data
参数:。关于您的主要问题:您没有编写任何测试用例。过滤哪些数据以及在哪列中?如果使用模板会更正确。例如
格式化程序:“number”
。它将强制在null、未定义或空字符串(“”)输入值上显示0。您所描述的问题在当前版本(4.13.1)的免费jqGrid中不应该存在于
格式化程序:“number”
格式化程序:“integer”
(可以在免费jqGrid中使用
模板:“number”
模板:“integer”
)中。我查找了编辑链接,但完全没有找到,否则,我会编辑原始问题。。。谢谢-我们已经开始使用数据加载网格,但这是一个较旧的示例。就测试用例而言:“您可以通过在带有空列值的工具栏字段中键入“null”来查看行为”。另外,对于格式化程序,我将尝试一下,看看效果如何。但是,如果字符串未定义、为null或为空,我们不希望显示“0”。非常感谢您的反馈,这非常有帮助。
$("#test1").jqGrid('filterToolbar', {
    autosearch: true,
    stringResult: true,
    searchOnEnter: true,
    defaultSearch: "cn"
}