2013-03-11 25 views
-1

我有用jqGrid排序數據的問題。jqgrid無法排序本地數據類型

我使用數據類型:「本地」。

一切都很好,當我重新加載頁面,按升序排序。但是,如果我單擊頁眉層來排序(desc或asc)jqGrid排序1,10,2,3 ...不1,2,3,4 ... 10(asc)和9,8,7 ... 3,2,10,1(desc)

我該如何解決這個問題?

這裏是我的代碼:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>My First Grid</title> 

<link rel="stylesheet" type="text/css" media="screen" href="css/jquery-ui-1.10.1.custom.min.css" /> 
<link rel="stylesheet" type="text/css" media="screen" href="css/ui.jqgrid.css" /> 

<style type="text/css"> 
html, body { 
    margin: 0; 
    padding: 0; 
    font-size: 75%; 
} 
</style> 

<script src="js/jquery-1.9.1.min.js" type="text/javascript"></script> 
<script src="js/grid.locale-en.js" type="text/javascript"></script> 
<script src="js/jquery.jqGrid.min.js" type="text/javascript"></script> 

<script type="text/javascript"> 
$(function(){ 
    $("#list").jqGrid({ 
    datatype: "local", 
    height: 300, 
    colNames:['ID','Inv Date','Name', 'Note','Amount','Tax','Total'], 
    colModel :[ 
     {name:'id', index:'id',width:20}, 
     {name:'invdate', index:'invdate', width:55}, 
     {name:'name', index:'name', width:90}, 
     {name:'note', index:'note', width:80, align:'right'}, 
     {name:'amount', index:'amount', width:80, align:'right'}, 
     {name:'tax', index:'tax', width:80, align:'right'}, 
     {name:'total', index:'total', width:150, sortable:true} 
    ], 
    sortname: "id", 
    multiselect: true, 
    caption: "Manipulating Array Data" 
}); 
    var mydata = [ 
    /** 
    * do this with PHP, for sampling usage i just want it generated automatically. 
    */ 
    <?php 
     $data=array(); 
     for ($i=1; $i <= 10; $i++) { 
     # code... 
     $data[]='{id:'.$i.',invdate:"'.$i.'",name:"'.$i.'",note:"'.$i.'",amount:"'.$i.'",tax:"'.$i.'",total:"'.$i.'"}'; 
     } 
     $data=implode(",",$data); 
     echo $data; 
    ?> 
    ]; 
for(var i=0;i<=mydata.length;i++) 
    jQuery("#list").jqGrid('addRowData',i+1,mydata[i]); 
}); 
</script> 

</head> 
<body> 
<!--this is it, jqGrid--> 
<table id="list"><tr><td/></tr></table> 
<div id="pager"></div> 
<!--end of jqGrid--> 
</body> 
</html> 

回答

0

,如果你想要的jqGrid的列中爲整數的數據進行排序,您應該包括在colModel相應列的定義sorttype: "integer"財產。

+0

偉大:)謝謝,即時通訊新的jqgrid。 – Bari 2013-03-11 10:03:48

+0

@barreybunshin:不客氣! – Oleg 2013-03-11 10:04:19