如何使用数据库中的动态数据显示多个页面?

时间:2013-02-21 14:16:17

标签: java xml jquery-ui jqgrid

我正在从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>

1 个答案:

答案 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);

这绝不是代码,您可以将粘贴复制到您的应用中,但会将您设置在正确的路径上以查找示例,以及您尝试执行的操作。