我遇到了在我的网格中排序数据的问题...当我点击列(例如totalprice
)进行排序时,它不会排序
我会粘贴我的代码:
// GRID Model
$("#grid-list").jqGrid({
url:'grid.php',
datatype: 'xml',
mtype: 'GET',
autowidth: true,
xmlReader: {
root:"rows",
row:"row",
page:"page",
total:"total",
records:"records",
repeatitems:true,
cell:"cell",
id : "[id]"
},
colNames:['ID','Utente','Data Richiesta','Data Approvato', 'Data Ordine','Data Arrivo','Stato','Fondi','Urgente','Importo','Note'],
colModel :[
{name:'id', index:'id', width:50, align:'right'},
{name:'userid', index:'userid', width:60},
{name:'daterequested', index:'daterequested', width:150, align:'center', sorttype: 'date', formatter: 'date',
formatoptions: { newformat: 'd-M-Y' }, datefmt: 'd-M-Y'},
{name:'dateapproved', index:'dateapproved', width:50, align:'center'},
{name:'dateordered', index:'dateordered', width:50, align:'center'},
{name:'datearrival', index:'datearrival', width:50, align:'center'},
{name:'orderstatus', index:'orderstatus', width:70, align:'center'},
{name:'funds', index:'funds', width:70, align:'center' },
{name:'urgent', index:'urgent', width:65,align:'center'},
{name:'totalprice', index:'totalprice', width:50,align:'center', sorttype: 'float'},
{name:'comments', index:'comments', width:250}
],
pager: '#pager-list',
rowNum:10,
rowList:[10,20,30],
sortname: 'id',
sortorder: 'asc',
viewrecords: true,
gridview: true,
caption: 'Ordini'
});
$("#grid-list").jqGrid('navGrid', '#pager-list', { view: true, edit: false, add: false, del: false, search: true, refresh: true });
$("#grid-list").jqGrid('navButtonAdd','#pager-list',{
caption:"Export",
onClickButton : function () {
exportExcel();
}
});
对我做错的任何建议? 感谢您提供任何帮助。
答案 0 :(得分:0)
如果您使用datatype: 'xml'
,则表示应实施服务器端排序。如果数据集不是很大,您可以从网格中一次加载所有数据并使用loadonce: true
选项。在这种情况下,后面的排序(在第一次加载数据之后)将由jqGrid本身本地实现。您需要做的唯一事情是为列指定sorttype属性,哪些内容不应被解释为字符串。您已使用的大多数列已具有该属性。所有其他列将在本地作为字符串进行排序。