2

filterToolbar メソッドを使用して jqGrid のクライアント側検索機能を有効にしようとしていますが、機能させることができません。グリッドは、ページの読み込み時に asmx サービス (document.ready) から返される JSON を介してデータを正しく読み込みますが、検索ツールバーを使用して任意の列を検索しようとすると、グリッドは検索せずに更新されるだけです。

他の同様の質問とその回答を既に確認しましたが、問題の解決に役立つものはありませんでした。誰かが私の jqGrid スクリプトを以下でチェックして、何が問題なのか、何が欠けているのかを教えてくれるかもしれません。参考までにjqGridのバージョン「4.5.2」を使用しています。

$('#tblTargetDetails').jqGrid({
    url: 'PostHandlers/CommonHandler.asmx/GetTargetDetails',
    datatype: 'json',
    ajaxGridOptions: { contentType: 'application/json; charset=utf-8' },
    ajaxRowOptions: { contentType: "application/json; charset=utf-8", dataType: "json" },
    postData: "{'TargetID': '" + TargetID + "'}",
    mtype: 'POST',
    colNames: ['Team ID', 'Member UserID', 'Measure', 'Product', 'Month1', 'Month2'],
    colModel: [
      { name: 'TeamID', index: 'TeamID', width: 55, search: true, sorttype: 'int' },
      { name: 'MemberUserID', index: 'MemberUserID', width: 90, search: true, stype: 'text' },
      { name: 'Measure', index: 'Measure', width: 90, search: true, searchoptions: {} },
      { name: 'Product', index: 'Product', width: 90, search: true },
      { name: 'Month1', index: 'Month1', width: 80, editable: true, search: true },
      { name: 'Month2', index: 'Month2', width: 80, editable: true, search: false }],
    jsonReader: {
        root: "d.TargetDetails",
        records: "d.RecordsCount",
        id: "ID",
        cell: "",
        page: function () { return 1; },
        total: function () { return 1; },
    },
    pager: '#pnlTargetDetails',
    rowNum: 50,
    rowTotal: 2000,
    rowList: [20, 30, 50],
    loadonce: true,
    viewrecords: true,
    gridview: true,
    ignoreCase: true,
    rownumbers: true,
    caption: 'Target Details',
    editurl: 'PostHandlers/CommonHandler.asmx/EditTargetDetail',
    serializeRowData: function (postData) {

        return JSON.stringify({ 'content': JSON.stringify(postData), 'UserID': UserID });
    },
    onSelectRow: function (id) {
        if (id && id !== lastSel) {
            $('#tblTargetDetails').restoreRow(lastSel);
            lastSel = id;
        }
        $('#tblTargetDetails').jqGrid('editRow', id, true);

    }
});

$('#tblTargetDetails').jqGrid('navGrid', '#pnlTargetDetails', { search: true, edit: false, add: false, del: false });

$('#tblTargetDetails').jqGrid('filterToolbar', { stringResult: true, searchOnEnter: false });

あらかじめご了承ください。

ありがとう。

4

0 に答える 0