0

私はjQgridが初めてです。jQgrid で単一フィールド検索を適用したいと考えています。しかし、jQgrid でこの検索を適用する方法がわかりません。どこからやり始めるかわかりません。ドキュメントを参照しましたが、何をすべきかわかりませんでした。できるだけ早く必要な提案。私のjQgridコードは次のとおりです。

var oItemGrid = $("#ItemGrid");
        oItemGrid.jqGrid({
            url: 'WSAjax.asmx/GetDataForGrid',
            mtype: "POST",
            datatype: "json",
            ajaxGridOptions:
            {
                contentType: "application/json"
            },
            serializeGridData: function (data) {
                return JSON.stringify(data);
            },
            colNames: ['Type', 'Name', 'Desc'],
            colModel: [
                { name: 'Type', index: 'Type', width: 40 },
                { name: 'Name', index: 'Name', width: 40 },
                { name: 'Desc', index: 'Desc', width: 40, sortable: false}],
            prmNames: { page: "pageIndex", rows: "pageSize", sort: "sortIndex", order: "sortDirection", search: "_search" },
            autowidth: true,
            search: true,
            height: 'auto',
            rowNum: 10,
            rowList: [10, 20, 30, 40],
            sortname: sname,
            sortorder: sorder,
            page: pgno,
            jsonReader:
            {
                root: "d.rows",
                page: "d.page",
                total: "d.total",
                records: "d.records"
            },
            viewrecords: true,
            gridview: true,
            autoencode: true,
            ignoreCase: true,
            caption: 'Remember Sorting and Filtering Functionality',
            emptyrecords:"No records to display.",
            pager: '#IGPager',
            onPaging: function (pgButton) {
                isPaging = true;
            },
            onSortCol: function (colModel, colName, sortOrder) {
                saveSortInfoToCookie("ItemGridSortInfo", $("#ItemGrid"));
                var storeval = $.cookie("ItemGridSortInfo");
                alert("Saving sort info in cookie: " + storeval);
            },
            loadComplete: function (data) {
                if (isPaging) {
                    var pageInfo = $("#ItemGrid").jqGrid('getGridParam', 'page');
                    $.cookie("ItemGridPageInfo", pageInfo, { expires: 5 });
                    alert("Saving current page no. in cookie: " + pageInfo);
                    var pageno = $.cookie("ItemGridPageInfo");
                    alert("Reading saved page no. from cookie:" + pageno);
                    isPaging = false;
                }
            }//,
            //loadonce: true
        }).jqGrid('navGrid', '#IGPager', { edit: false, add: false, del: false }, {}, {}, {}, {}, {});
    });

私のWebサービスメソッドは次のとおりです。

[WebMethod, ScriptMethod(ResponseFormat = ResponseFormat.Json)]
    public JQGrid GetDataForGrid(int pageIndex, int pageSize, string sortIndex, string sortDirection, bool _search, string filters)

更新次のようなコードを開発しましたが、機能しません。

.jqGrid('navGrid', '#IGPager', { search: true, edit: false, add: false, del: false, refresh: false }, {}, {}, {}, {
            onSearch: function () {
                var postdata = oItemGrid.jqGrid('getGridParam', 'postData');
                $.extend(postdata, { filters: '', searchField: 'name', searchOper: ['eq', 'ne', 'bw', 'bn', 'in', 'ni', 'ew', 'en', 'cn', 'nc', 'nu', 'nn'], searchString: 'sValue' });
                oItemGrid.jqGrid('setGridParam', { search: 'sValue'.length>0, postData: postdata });
                oItemGrid.trigger("reloadGrid");

        }
        }, {});
4

0 に答える 0