gpt4 book ai didi

javascript - 最新 JQ Grid 中的排序问题

转载 作者:行者123 更新时间:2023-11-29 21:40:16 27 4
gpt4 key购买 nike

我面临与 jq 网格排序相关的问题,当我在列数据中输入简单文本以按升序和降序对数据进行完美排序时,例如

hello 
test
master
data
lazy

但是当我给出某种复杂的字符串时,它不会以正确的方式执行排序,例如

001abc_Basic_Contract 
100xyz_Basic_Contract
123_Basic_Contract
234_Basic_Contract
a_b_c_Basic_Contract
abc_Basic_Contract
abc001_Basic_Contract
Basic_Contract
Doc_1_Basic_Contract
Doc_13_Basic_Contract
Doc_14_Basic_Contract
EFAIL
EXE_Design_SG_DD
IDCMSExcellus
Letter_Design
SBCv1
SortTest_Basic_Contract
SortTest_Basic_Contract
TA
Tango
test_Basic_Contract
xyz_Basic_Contract

当我将上述数据作为列数据提供时,它没有以正确的方式执行排序。

  $("#grid").jqGrid({
data:mydata,
datatype: "local",

height: 250,
colNames:['Inv No','Date', 'Client', 'Amount','Tax','Total','Notes'],
colModel:[

{name:'id',index:'id', width:60, sorttype:"int"},
{name:'invdate',index:'invdate', width:90, formatter: 'date', formatoptions: { srcformat: 'ISO8601Long', newformat: 'Y-m-d H:i:s'}, sortable :true},
{name:'name',index:'name', width:100 , sorttype:'text', sortable:true },
{name:'amount',index:'amount', width:80, align:"right"},
{name:'tax',index:'tax', width:80, align:"right"},
{name:'total',index:'total', width:80,align:"right"},
{name:'note',index:'note', width:150}
],
multiselect: true,
sortable:false,

});

如果我在 Microsoft Excel 中对上述数据进行排序,它会给出不同的排序顺序。

请在这方面帮助我。

最佳答案

如果我对你的问题的理解是正确的,那么在这种情况下你需要设置自定义排序函数与语言环境字符串比较。

假设 name 列有如此复杂的字符串值,然后设置排序函数,如

您也可以根据不同的排序要求更改此功能

colModel:[
...
{name:'name',index:'name', width:100 , sorttype:'text', sortfunc: function(a,b,d){
if(d==1)
return a.localeCompare(b);
else
return b.localeCompare(a);
}
},
...

或者如果您有多个具有此类值的列,则定义单独的函数,例如

colModel:[
...
{name:'name',index:'name', width:100 , sorttype:'text', sortfunc: sortdata},
...
{name:'name2',index:'name2', width:100 , sorttype:'text', sortfunc: sortdata}
]


function sortdata(a,b,d){
if(d==1)
return a.localeCompare(b);
else
return b.localeCompare(a);

}

关于javascript - 最新 JQ Grid 中的排序问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33207380/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com