4

私はjsonデータ型とloadOnce: true. 検索を利用していfilterToolBarます。すべての一致が返されるわけではありません。グリッドにはNameという名前の検索可能な列が含まれており、値は "Adkins, Joe" と "Adkinson, Jane" です。検索文字列に「Adk」と入力すると、返される一致は「Adkins, Joe」だけです。

グリッドの定義は次のとおりです。

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" })
    }
})
4

1 に答える 1

2

あなたの主なエラーは、その使用法rowNum: -1が間違っていることです。データのローカルページングを防ぎたい場合は、十分に大きい値のを使用する必要がありますrowNum。たとえば、rowNum: 1000またはrowNum: 10000

$("#myGrid")さらに、コールバック(たとえばgridComplete)の内部をに置き換えることをお勧めします$(this)"?r=" + rand()一部の使用はurl私には不要のようです。一度しか呼び出せないので、あなたの呼び出しは$("#myGrid").filterToolbar外に移動する必要があります。gridComplete

さらに、列テンプレートを使用することをお勧めします。コードを削減し、管理しやすく、読みやすくすることができます。

于 2012-12-04T14:59:26.743 に答える