大家,
最近,我使用了jqGrid的Filter函数。我有'where'子句如下:
TakeVendor ='SOME' AND Act_ToDoFlag ='SOME' AND VHNO LIKE'%SOME%' AND ((A_FLAG ='true'AND B_FLAG ='false') OR (A_FLAG ='false'和B_FLAG ='true'))
我不知道如何编写jqgrid的过滤器,
我现在写的代码:
var myfilter = { groupOp: "AND", rules: [] };
myfilter.rules.push({ field: "TakeVendor", op: "eq", data: searchVender });
myfilter.rules.push({ field: "Act_ToDoFlag", op: "eq", data: searchFiler });
myfilter.rules.push({ field: "VHNO", op: "cn", data: searchVHNO });
请帮助我,谢谢!
答案 0 :(得分:1)
一切都相对简单,并且描述了here文档。您可以转换过滤器
TakeVendor = 'SOME'
AND Act_ToDoFlag = 'SOME'
AND VHNO LIKE '%SOME%'
AND (
(A_FLAG = 'true' AND B_FLAG = 'false')
OR (A_FLAG = 'false' AND B_FLAG = 'true')
)
到以下jqGrid过滤器
var myfilter = {
groupOp: "AND",
rules: [
{field: "TakeVendor", op: "eq", data: "SOME"},
{field: "VHNO", op: "cn", data: "SOME"}
],
groups: [
{
groupOp: "OR",
rules: [],
groups: [
{
groupOp: "AND",
rules: [
{field: "A_FLAG", op: "eq", data: "true"},
{field: "B_FLAG", op: "eq", data: "false"}
],
groups: []
},
{
groupOp: "AND",
rules: [
{field: "A_FLAG", op: "eq", data: "false"},
{field: "B_FLAG", op: "eq", data: "true"}
],
groups: []
}
]
}
]
};
应该考虑到groupOp: "AND"
和rules
同时应用groups
。之后,myfilter
对象的上述结构应该清楚。