我面臨着與在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