【原】Jqxgrid在Java服務器端分頁


研究這個后台分頁一天多,特此寫個文章記錄備忘

jsp頁面中有兩個需要注意的地方:一個是source中beforeprocessing,另一個是rendergridrows中數據的獲取。

說明:grid會向服務器發送以下參數

the Grid sends the following data to the server: 
sortdatafield - the sort column's datafield.
sortorder - the sort order - 'asc', 'desc' or ''
pagenum - the current page's number when the paging feature is enabled.
pagesize - the page's size which represents the number of rows displayed in the view.
groupscount - the number of groups in the Grid
group - the group's name. The group's name for the first group is 'group0', for the second group is 'group1' and so on.
filterscount - the number of filters applied to the Grid
filtervalue - the filter's value. The filtervalue name for the first filter is "filtervalue0", for the second filter is "filtervalue1" and so on.
filtercondition - the filter's condition. The condition can be any of these: "CONTAINS", "DOES_NOT_CONTAIN", "EQUAL", "EQUAL_CASE_SENSITIVE", NOT_EQUAL","GREATER_THAN", "GREATER_THAN_OR_EQUAL", "LESS_THAN", "LESS_THAN_OR_EQUAL", "STARTS_WITH", "STARTS_WITH_CASE_SENSITIVE", "ENDS_WITH", "ENDS_WITH_CASE_SENSITIVE", "NULL", "NOT_NULL", "EMPTY", "NOT_EMPTY"
filterdatafield - the filter column's datafield
filteroperator - the filter's operator - 0 for "AND" and 1 for "OR"

 

JSP頁面:

<!DOCTYPE html>
<html lang="en">
<head>
    <link rel="stylesheet" href="../jqwidgets/styles/jqx.base.css" type="text/css" />
    <link rel="stylesheet" href="../jqwidgets/styles/jqx.classic.css" type="text/css" />
    <script type="text/javascript" src="../jquery-1.11.1.min.js"></script>
    <script type="text/javascript" src="../jqwidgets/jqxcore.js"></script>
    <script type="text/javascript" src="../jqwidgets/jqxbuttons.js"></script>
    <script type="text/javascript" src="../jqwidgets/jqxscrollbar.js"></script>
    <script type="text/javascript" src="../jqwidgets/jqxmenu.js"></script>
    <script type="text/javascript" src="../jqwidgets/jqxcheckbox.js"></script>
    <script type="text/javascript" src="../jqwidgets/jqxlistbox.js"></script>
    <script type="text/javascript" src="../jqwidgets/jqxdropdownlist.js"></script>
    <script type="text/javascript" src="../jqwidgets/jqxgrid.js"></script>
    <script type="text/javascript" src="../jqwidgets/jqxgrid.pager.js"></script>
    <script type="text/javascript" src="../jqwidgets/jqxgrid.selection.js"></script>
    <script type="text/javascript" src="../jqwidgets/jqxdata.js"></script>
    <script type="text/javascript">
        $(document).ready(function () {
            // prepare the data
            var theme = 'classic';
            var source =
            {
                datatype: "json",
                datafields: [
                     { name: 'CompanyName' },
                     { name: 'ContactName' },
                     { name: 'ContactTitle' },
                     { name: 'Address' },
                     { name: 'City' },
                     { name: 'Country' }
                ],
                cache: false,
                url: 'data.php',
                root: 'Rows',
                beforeprocessing: function (data) {
            //根據實際做相應的調整不一定是data[0].TotalRows;建議寫個debugger;調試
            debugger; source.totalrecords
= data[0].TotalRows; } }; var dataadapter = new $.jqx.dataAdapter(source); // initialize jqxGrid $("#jqxgrid").jqxGrid( { width: 600, source: dataadapter, theme: theme, autoheight: true, pageable: true, virtualmode: true, rendergridrows: function (params) {
            //這里的返回值需要根絕實際情況作調整。如果params.data獲取不到。可以用dataadapter來獲取,如dataadapter.recordids[0].*等
            debugger;
return params.data; }, columns: [ { text: 'Company Name', datafield: 'CompanyName', width: 250 }, { text: 'Contact Name', datafield: 'ContactName', width: 200 }, { text: 'Contact Title', datafield: 'ContactTitle', width: 200 }, { text: 'Address', datafield: 'Address', width: 180 }, { text: 'City', datafield: 'City', width: 100 }, { text: 'Country', datafield: 'Country', width: 140 } ] }); }); </script> </head> <body class='default'> <div id="jqxgrid"></div> </body> </html>

Java后台

獲取grid發送的pagesize,pagenum

然后獲取數據庫數據后返回JSON格式數據即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM