0
我有一个jqGrid的,我在此定格了这样jqGrid的文本排序
gridAltMpn.jqGrid({
autowidth: true,
shrinkToFit: true,
datatype : 'local',
data : input,
height : '100',
scrollrows: true,
scrollOffset : '0',
hidegrid : false,
colNames : [ 'P', 'MPN' ],
colModel : [
{ name : 'Col1', width : 30, align:'center' },
{ name : 'Col2', width : 250, sorttype: 'integer'}
],
pager : '#altmpn_pager',
pagerpos : 'left',
scroll: 50,
gridview : true,
caption : 'A useful table title',
emptyRecordText : '<div id="no_data_msg" style="text-align:center"> No Results Found</div>',
hoverrows : true,
onSelectRow: function(id) {
var gsr = gridAltMpn.jqGrid('getGridParam', 'selrow');
if (gsr) {
var rowData = gridAltMpn.jqGrid('getRowData', gsr);
if ($("input[name='optInvInqType']:checked").val() == 'MPN') {
getInvInq("MPN", rowData.MPN);
}
}
},
loadComplete: function() {
gridAltMpn.setSelection(gridAltMpn.getDataIDs()[0], true);
}
});
的数据看起来像这样
XX 774860A6
774860A8
774860A4
774860A3
774860A10
STARTER, PNEUM,PW4000
当电网第一次加载的是它正常,但如果用户想要通过第二列进行排序它结束了这样
774860A10
774860A3
774860A4
XX 774860A6
774860A8
STARTER, PNEUM,PW4000
的774860A10的774860A8后应该去就像一个整数分类。我不能使用整数排序,因为它们不是整数,因为那里有一些字母字符。换句话说,我想要一个文本条目排序像一个整数。我是否需要使用自定义的排序例程,然后让我的Javascript做一个类似的整数?我也不需要第一次排序,因为我的服务器按第一列排序。用户可能希望它按第二列排序
+1定义为函数的'sorttype'的使用是正确的方法。在比较列项目之前,jqGrid允许*规范*值。归一化值将在执行排序算法期间的比较操作中使用。定义为函数的'sorttype'进行规范化。 [答案](http://stackoverflow.com/a/5296935/315935)更接近用户想要的。最大的问题只是用户没有明确指定数据的格式。在纯HEX数据的情况下,可以使用'parseInt(value,16)',但是在输入数据更复杂的情况下,标准化会更复杂。 – Oleg 2013-04-11 06:37:00