2012-12-04 68 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

相关问题