2012-12-16 102 views
2

我有一個簡單的演示,它可以在測試成績表上獲得「大於」過濾器。來源可以找到by clicking here。如果您向下滾動到var myfilter,您會看到我有一條規則註釋掉了。jqGrid - 'in'op不適用於過濾器

var myfilter = { 
    groupOp: "AND", 
    rules: [ 
     {field: 'score', op: 'gt', data: 70}, 
     //{field: 'grade', op: 'in', data: [10, 11, 12]} 
    ] 
}; 

此規則說只選擇10,11,12年級的行。但是,當我取消註釋此規則時,它不起作用。事實上,它甚至破壞了桌子。這是一個錯誤,還是我錯了?

要清楚,我只是想找到一種方法來使用op:'in'功能。在搜索列表運算的jqGrid的維基:「在」下的值SOPT,所以應該有辦法做到這一點...

回答

2

你是對的。目前執行本地搜索不支持"in"操作。它只使用"eq"

所以我建議你用"eq"操作代替"in"。從你的問題的例子可以改寫爲以下內容:

var myfilter = { 
    groupOp: "AND", 
    rules: [ 
     {field: 'score', op: 'gt', data: 70}, 
    ], 
    groups: [ 
     { 
      groupOp: "OR", 
      rules: [ 
       {field: 'grade', op: 'eq', data: 10} 
       {field: 'grade', op: 'eq', data: 11} 
       {field: 'grade', op: 'eq', data: 12} 
      ] 
     } 
    ] 
}; 

filtershere全格式見描述。

+0

謝謝,奧列格!您對這些主板的支持非常感謝 – ktm5124

+0

@ ktm5124:歡迎您! – Oleg