我面临着与在JQ电网排序,当我在列中的数据完全排序两个上升数据输入简单的文字和降序排列如排序问题最新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中对上述数据进行排序,它会给出不同的排序顺序。
请在这方面帮助我。
首先,您使用的jqGrid的版本(什么是 “最新JQ网格”)?您使用的是哪个jqGrid的分支([免费jqGrid](https://github.com/free-jqgrid/jqGrid),[Guriddo jqGrid JS](http://guriddo.net/?page_id=103334)或旧的jqGrid在版本<= 4.7)中?为什么你看到包含的排序字符串不是“正确的”? jqGrid为排序提供了一些自定义的可能性,但可能性取决于fork和版本。 – Oleg
目前我正在使用Guriddo jqGrid Js 5.0.0版,并且使用这种类型的数据进行排序甚至无法正常使用较少的版本。 – Ali
为什么在没有任何证据的情况下重复“不能正常工作”?要定义“正确的”顺序,必须在字符串或至少一个字符上定义“比较”函数。有*许多不同的*实现。例如,有人依赖区域设置。您使用的文本包含'_'符号。是否存在一些**绝对正确的**陈述,即“_”小于(或相反大于)任何数字('0'至'9')或拉丁字符('a'至'z'或'A'直到'Z')?试着在你的字符串中使用JavaScript的[Array.sort](http://www.w3schools.com/jsref/jsref_sort.asp)函数。 – Oleg