Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.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
多组查询-jqgrid复杂搜索_Jqgrid - Fatal编程技术网

多组查询-jqgrid复杂搜索

多组查询-jqgrid复杂搜索,jqgrid,Jqgrid,我使用jqgrid和multiplegroup选项true进行搜索。我的筛选器如下所示: {"groupOp":"OR", "rules":[{"field":"Total_case","op":"eq","data":"29"}], "groups":[{"groupOp":"AND", "rules":[{"field":"Total_case","op":"eq","data":"2"},{"field":"percent","op":"eq","data":"100"}], "group

我使用jqgrid和multiplegroup选项true进行搜索。我的筛选器如下所示:

{"groupOp":"OR",
"rules":[{"field":"Total_case","op":"eq","data":"29"}],
"groups":[{"groupOp":"AND",
"rules":[{"field":"Total_case","op":"eq","data":"2"},{"field":"percent","op":"eq","data":"100"}],
"groups":[]}]}

我有两行,总数为2,百分比为100,总数为29。因为外部条件是“或”条件,所以我希望有两行。但是,它不显示任何记录。怎么了?

这个问题似乎是重复的。我刚刚写了你最初问题的答案,我确认这是jqGrid当前版本中的一个bug。作为一种解决方法,我建议修改具有
“groupOp:”或“
以及非空部分
rules
groups
的请求,以便将
rules
部分作为新的附加组插入
groups

在您发布的示例中,您可以首先使用它转换发布到对象表单的JSON字符串
postData.filters

{
groupOp:“或”,
规则:[
{字段:“总案例”,op:“eq”,数据:“29”}
],
小组:[
{
groupOp:“和”,
规则:[
{字段:“总案例”,op:“eq”,数据:“2”},
{字段:“百分比”,操作:“均衡器”,数据:“100”}
],
组:[]
}
]
}
然后可以测试
groupOp
是否为“或”,并且
规则和
组都是非空数组。在这种情况下,可以将
规则
部分移动到
中。换句话说,可以将其转换为以下对象

{
groupOp:“或”,
规则:[],
小组:[
{
groupOp:“和”,
规则:[
{字段:“总案例”,op:“eq”,数据:“2”},
{字段:“百分比”,操作:“均衡器”,数据:“100”}
],
组:[]
}
{
groupOp:“和”,
规则:[
{字段:“总案例”,op:“eq”,数据:“29”}
],
组:[]
}
]
}
最后,可以使用
JSON.stringify
将对象转换回JSON字符串,并将结果分配回
postData.filters

更新:我发布了一篇文章,描述了在过滤/搜索请求处理过程中jqGrid内部将要做的更改

使用修复程序,现在似乎所有功能都正常工作