jqgrid搜索条件未显示

时间:2015-11-19 00:43:06

标签: jquery jqgrid

我正在试图弄清楚如何在jqgrid 4.6中使用搜索功能,基本上我在做同样的事情:http://www.codeproject.com/Articles/58357/Using-jqGrid-s-search-toolbar-with-multiple-filter

但是在搜索面板中没有显示条件,应该有“相等”或“包含”,我可以选择:
enter image description here

这是我的代码,我错过了什么吗?

 function showGrid() {
    $('#ListMessagesGrid').jqGrid({
        caption: paramFromView.Caption,
        colNames: ['EB_USER_MESSAGE_ID', paramFromView.MESSAGE_INFO_IDENTIFIER, paramFromView.MESSAGE_INFO_TIMESTAMP,
          paramFromView.MESSAGE_PARTY_FROM, paramFromView.MESSAGE_PARTY_TO, paramFromView.MESSAGE_COLLAB_SERVICE,
        paramFromView.MESSAGE_COLLAB_ACTION, paramFromView.MESSAGE_COLLAB_AGREEMENTREF, paramFromView.MESSAGE_COLLAB_CONVERSATION_ID],
        colModel: [
                    { name: 'EB_USER_MESSAGE_ID', index: 'EB_USER_MESSAGE_ID', width: 80, hidden: false, key: true, search: false },
                    { name: 'MESSAGE_INFO_IDENTIFIER', index: 'MESSAGE_INFO_IDENTIFIER', width: 600, searchoptions: { sopt: ['eq', 'cn'] } },
                    { name: 'MESSAGE_INFO_TIMESTAMP', index: 'MESSAGE_INFO_TIMESTAMP', width: 450 },
                    { name: 'MESSAGE_PARTY_FROM', index: 'MESSAGE_PARTY_FROM', width: 200 },
                    { name: 'MESSAGE_PARTY_TO', index: 'MESSAGE_PARTY_TO', width: 200 },
                    { name: 'MESSAGE_COLLAB_SERVICE', index: 'MESSAGE_COLLAB_SERVICE', width: 450 },
                    { name: 'MESSAGE_COLLAB_ACTION', index: 'MESSAGE_COLLAB_ACTION', width: 300 },
                    { name: 'MESSAGE_COLLAB_AGREEMENTREF', index: 'MESSAGE_COLLAB_AGREEMENTREF', width: 350 },
                    { name: 'MESSAGE_COLLAB_CONVERSATION_ID', index: 'MESSAGE_COLLAB_CONVERSATION_ID', width: 650 }
        ],
        hidegrid: false,
        multiselect: true,
        pager: jQuery('#ListMessagesPager'),
        sortname: 'EB_USER_MESSAGE_ID',
        rowNum: paramFromView.PageSize,
        rowList: [10, 20, 50, 100],
        sortorder: "desc",
        width: paramFromView.Width,
        height: paramFromView.Height,
        datatype: 'json',
        caption: paramFromView.Caption,
        viewrecords: true,
        autoencode : true,
        mtype: 'GET',
        jsonReader: {
            root: "rows",
            page: "page",
            total: "total",
            records: "records",
            repeatitems: false,
            userdata: "userdata"
        },
        url: paramFromView.Url
    }).navGrid('#ListMessagesPager', { view: false, del: false, add: false, edit: false },
       { width: 400 }, // default settings for edit
       {}, // default settings for add
       {}, // delete instead that del:false we need this
        {
            closeOnEscape: true, multipleSearch: true,
            closeAfterSearch: true
        }, // search options
       {} /* view parameters*/
     ).navButtonAdd('#ListMessagesPager', {
         caption: paramFromView.DeleteAllCaption, buttonimg: "", onClickButton: function () {
             if (confirm(paramFromView.DeleteAllConfirmationMessage)) {
                 document.location = paramFromView.ClearGridUrl;
             }
             else {
                 $('#ListMessagesGrid').resetSelection();
             }
         }, position: "last"
     });
};

更新

我找到了一些东西:

由于某种原因,aoprs数组中的所有值都是未定义的,因此下载列表没有填充,无论如何要解决这个问题吗?

enter image description here

1 个答案:

答案 0 :(得分:1)

您是否确定在i18n/grid.locale-en.js之前将jquery.jqGrid.min.js包含在有问题的应用程序中?这是案件中的典型错误。

我建议您尝试使用更新版本的jqGrid。我开发了例如free jqGrid。它是基于jqGrid 4.7的jqGrid的分支:MIT和GPLv2许可下的最新版本。在MIT和GPLv2许可下也提供免费的jqGrid。主文件jquery.jqGrid.min.js(或jquery.jqGrid.src.js)已经包含英语区域设置i18n/grid.locale-en.js。因此,只有在使用其他语言的情况下才需要包含语言环境文件。免费的jqGrid包含许多其他增强功能,我在wiki中描述了这些增强功能,并且每个版本都有自述文件。如果你想在互联网应用程序中使用免费的jqGrid,我建议你使用来自CDN的URL。有关详细信息,请参阅the wiki文章。