2011-06-09 30 views
1

我正在加载一个网格并设置rownum给定多少空间,我必须在窗口中显示记录;更多或更少的具有下列参数:jqgrid json on load rownumbers negative

 height:howhi - 32, 
     width:howWideToBe, 
     rowNum: howhiRownum, 
     loadonce : true, 
     sortable: true, 
     sortname: 'NPSQrtlyActivity', 
     sortorder: 'desc', 
     shrinkToFit: true, 
     pager:'#gridpager', 
     rownumbers: true, 
     imgpath: 'themes/redmond/images', 
     caption:'Site Accounts',  
     ignoreCase: true, 
     viewrecords: true, 
     scrollOffset: 25, 
     shrinkToFit:true, 
     altRows:true, 
     altclass:"myAltRowClass", 
     mtype: 'GET', 
     beforeSelectRow: function(rowid, e) {return false;}, 
     hoverrows:false 

的数据通过JSON数据填充从服务器(PHP),为

$i=0; 
while($row = mssql_fetch_array($result)) { 
$responce->rows[$i]['id']=$row[15]; 
$responce->rows[$i]['cell']=array($row[0],$row[1],$row[2],$row[3],$row[4],$row[5],$row[6],$row[7],$row[8],$row[9],$row[10],$row[11],$row[12],$row[13],$row[14],$row[15],$row[16]); 
$i++; 
} echo json_encode($responce); 

那么,JSON响应似乎细

{"rows":[{"id":"1-13JLCF","cell":["XXX XXXX XXX","Crawley","RH10 1SS","IAM","128",24,".$$_$$$$$$_$",1,5.23,"\u00a3 ","4200","27900","4650","51.106236","-0.104152","1-13JLCF","XXX XXXX XXX"]},{"id":"1-2EU55","cell":["YYY YYYY YYY","London","W12 7SB","Comms","140",21,"$_$_$$$$$$_$",1,5.17,"\u00a3 ","2750","8250","1550","51.291181","-0.235997","1-2EU55","YYY YYYY YYY"]}, 

剪断

@Oleg:json响应的结束与开始没有什么不同。即有诸如

“页”没有其他的信封信息:“0“,”总“:1,”记录“:” 3”

的问题是我得到的怪异负rownumbers和0寻呼机上的页面。

此外,如果我在过滤器工具栏中按回车键搜索;做一个空的搜索,json响应保持不变,但是rownumbers和分页现在是正确的。

+1

对于应用程序的其余部分如何工作,或者数据库中的数据是什么或它的含义,我完全不知道任何事情,但我不确定任何人对于您有任何线索。 – Pointy 2011-06-09 16:40:38

+0

您应该将JSON数据的结尾以'total','records'等格式发布。定义jqGrid的JavaScript代码也是必需的。 – Oleg 2011-06-09 17:11:40

回答

2

你没有发布你使用的jqGrid的代码,所以我只能猜测你的问题是什么。

我想你使用负值rowNum值(例如rowNum:-1)。这是不允许的,但如果从服务器获取数据,如果服务器代码没有问题,并且没有使用jqGrid的loadonce:true属性,则不会出现错误。因为你有负面的行号我想你确实使用loadonce:true参数。如果是您的问题,您可以修复它,例如,将rowNum:-1更改为rowNum:10000