1

Cassandra データベースからデータを読み取り、jqGrid に表示しています。しかし、それはすべてのページで同じレコードを表示しています

http://javahunter.wordpress.com/2010/12/07/jqgrid-example/のコードを使用しています


これは私の JSP ファイルです。ページネーションが機能しない理由を教えてください。事前にt​​hx。

<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>
4

1 に答える 1

0

これは、コントローラーに送信されるページング情報を扱っていないためです。

ページング時にグリッドが送信する POST を見ると、この情報がコントローラーに送信されていることがわかります。コントローラーはこの情報を受け取り、情報のページを選択して jqGrid に返すことができます。

コントローラーが期待するパラメーターの例

(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);

これは、アプリにコピーして貼り付けることができるコードではありませんが、実行しようとしている例などを見つけるための正しいパスに設定されます。

于 2013-02-21T14:38:22.890 に答える