2012-12-04 67 views
2

我有一個jqGrid與json數據類型和loadOnce: true。我正在使用filterToolBar搜索。它不會返回所有匹配。該網格包含名爲的可搜索列名稱並且具有值「Adkins,Joe」和「Adkinson,Jane」。如果我輸入搜索字符串「Adk」,唯一返回的匹配是「Adkins,Joe」。FilterToolBar不返回所有匹配

這裏是網格的定義:

function loadmyGrid(dataUrl, selectUrl) { 
$("#myGrid").jqGrid({ 
    url: dataUrl + "?r=" + rand(), 
    datatype: "json", 
    mtype: 'GET', 
    rowNum: -1, 
    loadonce: true, 
    ignoreCase: true, 
    scroll: true, 
    scrollOffset: 0, 
    gridview: true, 
    colNames: ["Employee ID", "Name", "User Name", ""], 
    colModel: [ 
       { name: "EmployeeID", width: "125", align: "center", sortable: false, resizable: false, title: false, search: false }, 
        { name: "Name", width: "150", align: "center", sortable: false, resizable: false, title: false }, 
        { name: "UserName", width: "125", align: "center", sortable: false, resizable: false, title: false, search: false }, 
        { name: "UserKey", key: true, width: "135", align: "center", sortable: false, resizable: false, title: false, formatter: selectButtonFormatter, search: false}, 
      ], 
    emptyrecords: "Nothing to display",  
    beforeSelectRow: function() { return false; }, 
    gridComplete: function() { 
     $("#myGrid").setGridHeight("100%"); 
     $("#myGrid").filterToolbar({searchOnEnter: false, defaultSearch: "cn" }) 
    } 
}) 

回答

0

你的主要錯誤是rowNum: -1使用這是錯誤的。如果你想防止本地分頁數據,你應該使用足夠大的值rowNum。例如rowNum: 1000rowNum: 10000

我建議您另外在任何回調(例如gridComplete)內將$("#myGrid")更換爲$(this)。使用"?r=" + rand()部分url似乎不需要。撥打$("#myGrid").filterToolbar您應該移出gridComplete以外,因爲它只能被調用一次。

我建議你另外使用column templates。它可以減少代碼並使其更易於管理和更好的可讀性。

+0

謝謝奧列格! rowNum設置修復了搜索問題。我還會實施您的其他建議。 – MLS

+0

@MLS:不客氣! – Oleg

相關問題