转easyui datagrid 前台分页的实现

easyui datagrid 前台分页的实现java采用的版本

来源:本站原创 js知识 超过5,090人围观 暂无评论

使用easyui分页,有后台服务器端实现和前台浏览器端实现。服务器端实现按规定的格式返回数据就可以了,前台实现需要写js来实现。

代码如下:

关键代码:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

function pagerFilter(data){

           if (typeof data.length == ‘number‘ && typeof data.splice == ‘function‘){    // 判断数据是否是数组

               data = {

                   total: data.length,

                   rows: data

               }

           }

           var dg = $(this);

           var opts = dg.datagrid(‘options‘);

           var pager = dg.datagrid(‘getPager‘);

           pager.pagination({

               onSelectPage:function(pageNum, pageSize){

                   opts.pageNumber = pageNum;

                   opts.pageSize = pageSize;

                   pager.pagination(‘refresh‘,{

                       pageNumber:pageNum,

                       pageSize:pageSize

                   });

                   dg.datagrid(‘loadData‘,data);

               }

           });

           if (!data.originalRows){

               data.originalRows = (data.rows);

           }

           var start = (opts.pageNumber-1)*parseInt(opts.pageSize);

           var end = start + parseInt(opts.pageSize);

           data.rows = (data.originalRows.slice(start, end));

           return data;

       }

完整的Demo


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <title>客户端分页demo</title>

    <link rel="stylesheet" type="text/css" href="http://www.jeasyui.com/easyui/themes/bootstrap/easyui.css">

    <link rel="stylesheet" type="text/css" href="http://www.jeasyui.com/easyui/themes/icon.css">

    <link rel="stylesheet" type="text/css" href="http://www.jeasyui.com/easyui/demo/demo.css">

    <script type="text/javascript" src="http://www.jeasyui.com/easyui/jquery-1.8.0.min.js"></script>

    <script type="text/javascript" src="http://www.jeasyui.com/easyui/jquery.easyui.min.js"></script>

</head>

<body>

    <h2>客户端分页dem</h2>

    <div class="demo-info">

        <div class="demo-tip icon-tip"></div>

        <div></div>

    </div>

    <div style="margin:10px 0;"></div>

    <table id="dg" title="Client Side Pagination" style="width:700px;height:300px" data-options="

                rownumbers:true,

                singleSelect:true,

                autoRowHeight:false,

                pagination:true,

                pageSize:10">

        <thead>

            <tr>

                <th field="inv" width="80">Inv No</th>

                <th field="date" width="100">Date</th>

                <th field="name" width="80">Name</th>

                <th field="amount" width="80" align="right">Amount</th>

                <th field="price" width="80" align="right">Price</th>

                <th field="cost" width="100" align="right">Cost</th>

                <th field="note" width="110">Note</th>

            </tr>

        </thead>

    </table>

    <script>

        function getData(){//模拟数据

            var rows = [];

            for(var i=1; i<=80000; i++){

                var amount = Math.floor(Math.random()*1000);

                var price = Math.floor(Math.random()*1000);

                rows.push({

                    inv: ‘Inv No ‘+i,

                    date: $.fn.datebox.defaults.formatter(new Date()),

                    name: ‘Name ‘+i,

                    amount: amount,

                    price: price,

                    cost: amount*price,

                    note: ‘Note ‘+i

                });

            }

            //console.log(JSON.stringify(rows));

            return rows;

        }

        function pagerFilter(data){

            if (typeof data.length == ‘number‘ && typeof data.splice == ‘function‘){    // 判断数据是否是数组

                data = {

                    total: data.length,

                    rows: data

                }

            }

            var dg = $(this);

            var opts = dg.datagrid(‘options‘);

            var pager = dg.datagrid(‘getPager‘);

            pager.pagination({

                onSelectPage:function(pageNum, pageSize){

                    opts.pageNumber = pageNum;

                    opts.pageSize = pageSize;

                    pager.pagination(‘refresh‘,{

                        pageNumber:pageNum,

                        pageSize:pageSize

                    });

                    dg.datagrid(‘loadData‘,data);

                }

            });

            if (!data.originalRows){

                data.originalRows = (data.rows);

            }

            var start = (opts.pageNumber-1)*parseInt(opts.pageSize);

            var end = start + parseInt(opts.pageSize);

            data.rows = (data.originalRows.slice(start, end));

            return data;

        }

        $(function(){//加载数据

            $(‘#dg‘).datagrid({loadFilter:pagerFilter}).datagrid(‘loadData‘, getData());

        });

    </script>

</body>

</html>

时间: 2024-08-04 00:53:27

转easyui datagrid 前台分页的实现的相关文章

easyui datagrid 前台分页的实现

<!DOCTYPE html> <html> <head>     <meta charset="UTF-8">     <title>客户端分页demo</title>     <link rel="stylesheet" type="text/css" href="http://www.jeasyui.com/easyui/themes/bootstrap

JQuery EasyUI 学习——Struts2与EasyUI DataGrid数据表格结合使用显示数据库数据

因为EasyUI DataGrid只要取出后台传过来的一定格式的JSON数据,就可以在前台页面数据表格中,以一定形式显示数据库中的数据.此处,我们使用Struts2框架整合DataGrid,实现数据的显示. 一.页面内容 为了在页面中显示数据库中字段内容,需要定义一个table,通过EasyUI内部设计,自动显示数据,如下: <%@ page language="java" import="java.util.*" pageEncoding="UTF

初识 easyui datagrid

首先应该下载好easyui datagrid所用的各种js 和css 这个可以到官网上去下载. 首先要引入datagrid所引入的js和css. <script src="js/jquery.min.js"></script><script src="js/jquery.easyui.min.js"></script><link rel="stylesheet" type="text

easyui datagrid 批量编辑和提交

前台主要代码: <script type="text/javascript"> $(function() { var $dg = $("#dg"); $dg.datagrid({ url : "servlet/list", width : 700, height : 250, columns : [ [ { field : 'code', title : 'Code', width : 100, editor : "vali

jquery easyui datagrid 排序列

点击排序列,将获取参数有:page=1&rows=10&sort=UserName&order=desc c#后台获取sort跟order参数 string sortColumn = Request.Params["sort"].ToString(); string order = Request.Params["order"].ToString(); jquery easyui datagrid 排序列,布布扣,bubuko.com

easyui datagrid行合并

easyui datagrid行合并 合并方法 /** * EasyUI DataGrid根据字段动态合并单元格 * 参数 tableID 要合并table的id * 参数 colList 要合并的列,用逗号分隔(例如:"name,department,office"); */ function mergeCellsByField(tableID, colList) { var ColArray = colList.split(","); var tTable =

EasyUI DataGrid 编辑单元格

之前文章 EasyUI DataGrid可编辑单元格实现可编辑单元格,如果有多列都需要可编辑 当点击一个单元格 则此整行都会进行编辑 如下图: 现改为单击某个单元格只对此单元格进行可编辑 <TABLE>标记添加 onClickCell <table id="dg" class="easyui-datagrid" data-options="onClickCell: onClickCell"> 需要进行编辑的列上添加 edi

easyUI datagrid笔记

easyUI datagrid 简单使用与注意细节 背景: 业余爱好,使用了一下easyUI的搜索框与数据表格,并把两者整合起来进行使用. 使用前提(引入需要的js and css): <link rel="stylesheet" type="text/css" href="./css/easyui.css"> <link rel="stylesheet" type="text/css"

easyui datagrid导出excel

[第十四篇]easyui datagrid导出excel <a class="btn btn-app" onclick="exportExcel()"><i class="fa fa-edit"></i>导出Excel</a> 贴下面的代码之前,我想说一下 我的数据是主外键关系,有多张表关联,所以在做数据的时候,发现很多问题,读取的时候,它会自动读取所有的数据. 当然这不能满足我导出之后的要求,我只