0

嗨伙计们!我在 jqgrid 中使用下拉列表实现了过滤器,但网格没有显示我添加过滤器的列的值,也没有过滤数据。

这是我的代码...

<script type="text/javascript">

    var categoriesStr = ":All;1:vikas;2:Ankur";
    $(function () {
        $("#UsersGrid").jqGrid({
            url: 'getGriddahico.ashx',
            datatype: 'json',
            height: 250,
            colNames: ['UserID', 'UserName', 'FirstName', 'MiddleName', 'LastName', 'EmailID'],
            colModel: [
                    { name: 'UserID', index: 'UserID', width: 100, sortable: true, align: 'center' },
                    { name: 'UserName', width: 100, sortable: true, align: 'center' , formatter: 'select', stype: 'select',
                    sorttype: function (cell) { return categories[cell]; },
                    edittype: 'select', editoptions: { value: categoriesStr },
                    searchoptions: { sopt: ['eq'] }
                },
                    { name: 'FirstName', width: 100, sortable: true, align: 'center' },
                    { name: 'MiddleName', width: 100, sortable: true },
                    { name: 'LastName', width: 100, sortable: true, align: 'center' },
                    { name: 'EmailID', width: 150, sortable: true, align: 'center' }
                ],
            rowNum: 10,
            rowList: [10, 20, 30],
            pager: '#UsersGridPager',
            sortname: 'UserID',
            loadonce: true,
            viewrecords: true,
            ignorecase:true,
            sortorder: 'asc',
            autowidth: true,
            toppager: true,
            height: '100%'

        });

        $("#UsersGrid").jqGrid('navGrid', '#UsersGridPager', { edit: false, add: false, del: false, search: false });

        $("#UsersGrid").jqGrid('filterToolbar', { stringResult: true, searchOnEnter: true, defaultSearch: "cn", beforeSearch: function () {
            //alert("verifying the data");
            var postData = grid.jqGrid('getGridParam', 'postData');
            // we use `stringResult: true` so decoding of the search parameters are a little complex
            var searchData = jQuery.parseJSON(postData.filters);
            for (var iRule = 0; iRule < searchData.rules.length; iRule++) {
                if (searchData.rules[iRule].field === "UserName") {
                    var valueToSearch = searchData.rules[iRule].data;
                    if (valueToSearch.length != 5) {
                        alert("The search string MUST de 5 charachters length!");
                        return true;    // error
                    }
                }
            }
            return false;
        }
        });

        //jQuery("#UsersGrid").jqGrid('filterToolbar', { stringResult: true, searchOnEnter: false });
    });

</script>

欢迎任何帮助...

提前感谢

4

1 回答 1

0

可能getGriddahico.ashx是没有返回排序值。如果能分享一下代码getGriddahico.ashx就更好了。

于 2013-01-29T07:29:42.503 回答