-1

没有数据的分页按钮是可点击的IMAGE 1
这里的分页按钮是不可点击的 IMAGE 2

如果数据是动态的,则此处寻呼机不起作用。请让我知道我必须做些什么改变,它只有在我们使用静态数据时才有效。

<head>
<script type="text/javascript">
jQuery().ready(function() {
jQuery("#list").jqGrid({
url : './ShowDummyData.do?',
datatype : 'XML',
mtype : 'GET',
loadonce : false,
colNames:['Inv No','Notes','DTL'],
colModel:[
{name:'invid',index:'invid', width:150},
{name:'note',index:'note', width:150, sortable:false},
{name:'dtl',index:'dtl', width:150, sortable:false}         
],                          
pager : jQuery('#pager'),
rowNum : 1,
rowList : [ 1, 2, 3 ],
rownumbers: true,
viewrecords : true,
gridview: true,
caption : 'My first grid'
}).navGrid('#pager',{edit:false,add:false,del:false});
});
</script>
</head>
<body>
<table id="list" class="scroll"></table>
<div id="pager" class="scroll" style="text-align: center;"></div>
</body>

这是servlet的代码

sb.append("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
response.setContentType("text/xml;charset=utf-8");
sb.append("<rows>");
sb.append("<row id='3'>");
sb.append("<cell>1</cell>");
sb.append("<cell>777</cell>");
sb.append("<cell> We will do 3</cell>");
sb.append("</row>");
 sb.append("<row id='4'>");
sb.append("<cell>1</cell>");
sb.append("<cell>777</cell>");
sb.append("<cell> We will do 3</cell>");
sb.append("</row>");
sb.append("</rows>");

以 xml 格式返回数据

4

1 回答 1

0

您使用loadonce: false(顺便说一下它的默认值)。因此,您的服务器代码(servlet)负责分页。例如,您使用rowNum: 1. 这意味着您希望每页显示 1 行。创建网格时的初始页面为 1。因此 jqGrid 向服务器发送以下附加参数:

page=1
rows=1 (get from rowNum: 1)

URL./ShowDummyData.do将附加./ShowDummyData.do?page=1&rows=1一些其他附加参数 ( sidx, sord, _search, nd)。您的服务器代码应该读取请求的参数并且它应该返回请求的数据页:第一页有一行。所以服务器首先应该对数据对应sidxsord参数进行排序,它应该将结果分成页,它应该只返回一页

如果您希望客户端代码(jqGrid 本身)进行分页,则 servlet 应该像当前一样返回所有数据,并且您应该使用loadonce: trueoption.

于 2013-09-26T07:18:32.330 回答