我正在从cassandra数据库中读取数据并在jqGrid中显示。但它在所有页面上显示相同的记录
我正在使用http://javahunter.wordpress.com/2010/12/07/jqgrid-example/
中的代码这是我的jsp文件: 请说明为什么分页不起作用。 thx提前。
<title>User Grid</title>
<script>
function fillGridOnEvent() //function called through ready function
{
// $("#jQGrid").html("<table id=\"list\"></table><div id=\"page\"></div>");
jQuery("#list").jqGrid({
url:'<%=request.getContextPath()%>/JQGridServlet?q=1&action=fetchData',
datatype: "xml",
// cellEdit:true,
// width:'1000',
height: '500',
// altRows: true,
// width: 1000,
colNames:['SrNo','Source IP','Destination IP','Bytes Sent',"Bytes Received"],
colModel:[
{name:'srNo',index:'srNo', width:90,sortable:true,align:'center'},
{name:'stdName',index:'stdName',
width:130,sortable:false,align:'center',editable:true},
{name:'stdStd',index:'stdStd', width:100,sortable:false,align:'center'},
{name:'stdRollNo',index:'stdRollNo', width:180,sortable:false,align:'center'},
{name:'view',index:'view', width:100,sortable:false,align:'center'}
],
multiselect: false,
autowidth:true,
paging: true,
viewrecords: true,
// viewpages: true,
rowNum:10,
sortname:'srNo',
// sortorder:asce,
rowList:[10,20,30,40,50],
// recordtext: "View {0} - {1} of {10}",
pager: jQuery('#page'),
loadComplete:function()
{
},
loadonce:false,
caption: "Student Details"
}).navGrid('#page',{edit:true,add:true,del:true});
}
jQuery().ready(function (){
alert("in ready");
fillGridOnEvent();
});
</script>
</head>
<style>
.ui-jqgrid tr.jqgrow td {white-space: normal}
</style>
<body onload="fillGridOnEvent();">
<table id="list"><tr><td/></tr></table>
<div id="page" align="center" >
</div>
</body>
</html>
答案 0 :(得分:0)
这是因为您没有处理发送到控制器的分页信息。
如果您查看网页发送的POST信息,您将看到它将此信息发送给您的控制器。您的控制器可以接受此信息,然后选择要返回jqGrid的信息页面
Ex控制器期望的参数
(string sidx, string sord, int page, int rows, bool _search, string filters)
分页逻辑的一个粗略示例,用于获取此信息并为jqGrid生成不同的数据页面以进行显示。
var pagedQuery = filteredQuery.OrderBy(sidx + " " + sord).Skip((page - 1) * rows).Take(rows);
这绝不是代码,您可以将粘贴复制到您的应用中,但会将您设置在正确的路径上以查找示例,以及您尝试执行的操作。