JQGrid:sorttype整数排序列为字符串

时间:2016-08-08 08:18:57

标签: jquery sorting struts2 jqgrid integer

我使用这样的JQGrid:

<@sjg.grid id="gridtable"
dataType="json"
loadonce="true"
href="${remoteurl}"
pager="true"
gridModel="myDataList"
navigator="true"
navigatorAdd="false"
navigatorEdit="false"
navigatorDelete="false"
navigatorView="true"
navigatorRefresh="false"
navigatorSearch="false"
rowNum="20"
rownumbers="true"
rowList="10,20,30,50,100"
viewrecords="true"
multiselect="true"
autowidth="true"
shrinkToFit="true"
onCompleteTopics="loadComplete"
onFocusTopics="onSelectRow"
onSelectAllTopics="onSelectAll"
filter="true"
filterOptions="{stringResult:true}"
footerrow="true"
>

<@sjg.gridColumn name="intColumn" index="intColumn" title="Test int" sortable="true" search="true" sorttype="integer" width="30" searchoptions="{sopt:['cn','eq','ne','bw','bn','ew','en','nc']}"/>

然后,当我对该列进行排序时,值被排序为字符串值(1 <10 <11 <2 ...而不是1 <2 <10 <11 ...)。 / p>

如何解释这种行为?

编辑: 生成的JQGrid的JS:

jQuery(document).ready(function() {
jQuery.struts2_jquery.debug = false;
jQuery.struts2_jquery.loadAtOnce = true;
jQuery.scriptPath = "/struts/";
jQuery.struts2_jquery.minSuffix = "";
jQuery.struts2_jquery.local = "fr";
jQuery.struts2_jquery.gridLocal = "fr";
jQuery.struts2_jquery.timeLocal = "fr";
jQuery.struts2_jquery.defaults.indicator="indicator";
jQuery.ajaxSettings.traditional = true;
jQuery.ajaxSetup ({
    cache: false
});

jQuery(document).ready(function () { 
jQuery.struts2_jquery.require("js/struts2/jquery.grid.struts2-3.1.0"+jQuery.struts2_jquery.minSuffix+".js");
var options_gridtable = {};
var options_gridtable_colmodels = new Array();
var options_gridtable_colnames = new Array();

options_gridtable_colmodels_intColumn = {};
options_gridtable_colmodels_intColumn.name = "intColumn";
options_gridtable_colmodels_intColumn.jsonmap = "intColumn";
options_gridtable_colmodels_intColumn.index = "intColumn";
options_gridtable_colmodels_intColumn.width = 30;
options_gridtable_colmodels_intColumn.editable = false;
options_gridtable_colmodels_intColumn.sortable = true;
options_gridtable_colmodels_intColumn.resizable = true;
options_gridtable_colmodels_intColumn.search = true;
options_gridtable_colmodels_intColumn.searchoptions = {sopt:['cn','eq','ne','bw','bn','ew','en','nc']};
options_gridtable_colnames.push("Int column");
options_gridtable_colmodels.push(options_gridtable_colmodels_intColumn);

options_gridtable.datatype = "json";
options_gridtable.url = "myURLAction";
options_gridtable.height = 'auto';
options_gridtable.pager = "gridtable_pager";
options_gridtable.pgbuttons = true;
options_gridtable.pginput = true;
options_gridtable.rowNum = 20;
options_gridtable.rowList = [10,20,30,50,100];
options_gridtable.viewrecords = true;
options_gridtable.autowidth = true;
options_gridtable.navigator = true;
options_gridtable.navigatoradd = false;
options_gridtable.navigatordel = false;
options_gridtable.navigatoredit = false;
options_gridtable.navigatorrefresh = false;
options_gridtable.navigatorsearch = false;
options_gridtable.navigatorview = true;

options_gridtable.loadonce = true;
options_gridtable.filter = true;
options_gridtable.filteroptions = {searchOnEnter:false};
options_gridtable.multiselect = true;
options_gridtable.shrinkToFit = true;
options_gridtable.autoencode = true;
options_gridtable.footerrow = true;
options_gridtable.rownumbers = true;
options_gridtable.onselectalltopics = "onSelectAll";


options_gridtable.colNames = options_gridtable_colnames;
options_gridtable.colModel = options_gridtable_colmodels;
options_gridtable.jsonReader = {};
options_gridtable.jsonReader.root = "myDataList";
options_gridtable.jsonReader.repeatitems = false;

options_gridtable.jqueryaction = "grid";
options_gridtable.id = "gridtable";
options_gridtable.oncom = "loadComplete";
options_gridtable.onfocustopics = "onSelectRow";

jQuery.struts2_jquery_grid.bind(jQuery('#gridtable'),options_gridtable);

0 个答案:

没有答案
相关问题