繁体   English   中英

ignoreCase排序不适用于列

[英]ignoreCase sorting is not working on column

在Jqgrid中,我的专栏如下,

{name : 'name',editable:true,width:120,sorttype:'string'},

但它提供区分大小写的排序,如下所示。

- product Sales Agent
- email Queue
- default Queue
- Trouble Ticket
- Billing & Payment

我也尝试过用ignoreCase:true,但是它不起作用。 我需要通过忽略大小写来进行排序,如下所示,

- Trouble Ticket 
- product Sales Agent 
- email Queue 
- default Queue 
- Billing & Payment

知道这怎么可能吗?

            colNames:['questionId','Name','Answer','Show','Edit','Option'],
            colModel : [
                {name : 'questionId',sorttype:'int',align:'left',editable:true, hidden:true},
                {name : 'name',editable:true,width:120,sorttype:'text',ignoreCase:true,soratble:true},                  {name : 'answer',align:'left',width : 400,sorttype:'string',editable:true},
                {name : 'enable',align:'center',width : 60,sorttype:'string',editable:true, formatter : formatEnable},
                {name : 'edit',editable:false, formatter:addEditButton,align:'center',width:50},
                {name : 'feedbackOptions.optionId',editable:false, align:'center', hidden:true},

            ],
            jsonReader : {root: "rows",
                  page: "page",
                  total: "total",
                  records: "records",
                  repeatitems: false
            },      
            multiselect : true,
            height: '170px',
            paging : true,
            emptyrecords : "<spring:message code='label.norecords'/>",
            viewrecords : true,
            rowNum : 10,
            rowList : [10,20,30],
            pager : "#pager",
            loadonce : true,                
            footerrow : false,
            userDataOnFooter : true,
            altRows : true,
            loadonce:true,
            loadComplete: function (data) {
                $('#buttonDiv').show();
              }
            }); 
            jQuery("#list").jqGrid("navGrid","#pager",{del:false,add:false,edit:false, search:false, refresh:false});
            },
            error:function(xhr,ajaxoptions,thrownError){

            }
    }); 
}

尝试在sorttype:'text'更改sorttype:'string' sorttype:'text'

在jqgrid的选项(而不是列)中添加IgnoreCase: true

如果使用的是3.8版本的jqGrid。 尝试在grid.base.js上进行如下更改

将_usecase字段设置为false并尝试。

来自:function(source){.... _usecase = false,}

相同的问题已在更高版本上得到解决,因此无需在那里进行更改。

我知道这是一个老问题,但是我在工作时偶然掉到了这里。 如果您在这样的专栏中尝试怎么办?

您现在的专栏(或无论在何处写问题):

{name : 'name',editable:true,width:120,sorttype:'text',ignoreCase:true,sortable:true}

使用ignoreCase函数的列使用一些JS技巧:

{name:'name', editable:true, width:120, sortable:true, sorttype: function(cell,obj){
    return cell.toLowerCase()}
};

请注意, cell包含该cell的String值,因此当您要对jqGrid中的元素进行排序时,必须使用该值。

希望能帮助到你

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM