2014-01-13 36 views
3

我已經設置網格實例是這樣的:的jqGrid:如何搜索運營商的信息發送到服務器端

$("#list").jqGrid({ 
     url:'rest/usertest/users', 
     datatype: "json", 
     mtype: "POST", 
     colNames: ["Username", "Name", "Grouping"], 
     colModel: [ 
      { name: "username" }, 
      { name: "name", width: 90 }, 
      { name: "grouping", width: 80, sorttype:'string',searchoptions:{sopt:['eq','bw','bn','cn','nc','ew','en']}}, 
     ], 
     pager: "#pager", 
     rowNum: 10, 
     rowList: [10, 20, 30], 
     sortname: "username", 
     sortorder: "asc", 
     viewrecords: true, 
     multiselect: false, 
     autowidth: true, 
     height: 'auto', 
     gridview: true, 
     multiSort: true 
    }); 
    jQuery("#list").jqGrid('filterToolbar',{searchOnEnter : false,searchOperators : true}); 

我試圖做通過網格中的服務器端的操作基於搜索。問題是它不會將有關所選操作符的任何信息發送到服務器端。 該請求不包含有關所選運算符(eq,bw,bn等)的任何信息。

我試圖用工具欄搜索本身。我是否缺少任何配置參數?請指教。


編輯:

我試圖通過@Tomcat下面給出的答案,但它仍然無法正常工作。搜索成功,但我無法在服務器端進行基於操作數的搜索工作。

如下圖所示,沒有關於所選操作數的信息。

request

回答

0

嘗試添加到網格設置下一個屬性:

searchOperators: true, 
search: true, 

該請求到服務器應該包含下一參數後: 「過濾器」 - 搜索過濾器, 「SIDX」 - 排序排序, 「sord」 - 排序順序('asc'或'desc'),'_search' - 用於搜索的bool觸發器。


好的,請看看這個代碼,它的工作原理和發送所有必要的信息。注意的jQuery( 「#清單」)。jqGrid的( 'filterToolbar',{性能。

jQuery("#list").jqGrid('filterToolbar', { 
     searchOnEnter: false, 
     searchOperators: true, 
     multipleSearch: true, 
     stringResult: true, 
     groupOps: [{ op: "AND", text: "all" }, { op: "OR", text: "any" }], 
     defaultSearch: 'cn', ignoreCase: true 
    }); 

希望這將是有益的。

+0

不是,仍然不起作用,我已經編輯過這個問題,請看看。 –

2

stringResult : true是必要的。

$('#list').filterToolbar({ 
     groupOp: 'OR', 
     defaultSearch: "cn", 
     autosearch: true, 
     searchOnEnter: true, 
     searchOperators: true, // activates the operators menu 
     stringResult : true // activates multi-field search 
    }); 
相關問題