1

我正在创建一个 asp.net mvc 应用程序并将数据加载到 jqgrid 中,并且分页和排序工作完全正常。我正在尝试实现搜索并已实现代码来显示搜索窗口;但是当我单击 Find 按钮时,我无法检索 searchString、searchField 和 searchOper,因为它们返回为空。我确信我需要在 javascript 中实现 postdata 代码,但在实现时遇到了麻烦。谁能指出我正确的方向?

另外,关于如何在控制器操作中实现搜索的任何想法?

这是我目前在 javascript 中的内容:

 <script type="text/javascript">
    $(function () {
          $("#list").jqGrid({
              url: '/Home/GetData/',
                    datatype: 'json',
                    mtype: 'GET',
                    colNames: ['ID', 'NAME'],
                    colModel: [
      { name: 'ID', index: 'ID', width: 250, align: 'center', searchoptions: { sopt: ['eq', 'ne', 'cn']} },
      { name: 'NAME', index: 'NAME', width: 250, align: 'center',  searchoptions: { sopt: ['eq', 'ne', 'cn']} }],
                    pager: jQuery('#pager'),
                    rowNum: 10,
                    rowList: [5, 10, 20, 30, 40, 50],
                    sortname: 'ID',
                    sortorder: "desc",
                    viewrecords: true,
                    height: '100%'
                    });

                $("#list").jqGrid('navGrid', '#pager', { edit: true, add: true, del: true, search: true},
                                                        {},
                                                        {},
                                                        {},
                                                        {closeOnEscape: true, multipleSearch: true, closeAfterSearch: true},
                                                        {});


            }); 
</script>

任何帮助是极大的赞赏!

4

1 回答 1

2

您使用multipleSearch: true搜索选项。它允许创建更强大的查询,但它使用另一种格式的参数。代替三个参数searchString,将使用一个参数searchField,以 JSON 字符串的形式表示有关过滤器的完整信息。有关更多信息,请参阅文档searchOperfilters

例如,在答案中,您将找到演示如何解析filters参数并在使用实体框架访问数据库的情况下创建相应的数据过滤的代码。

于 2012-06-28T15:00:57.440 回答