jquery easyui datagrid 分页 详解

转载 2016年08月28日 20:39:49

由于项目原因,用了jquery easyui 感觉界面不错,皮肤样式少点,可是官网最近打不开了,资料比较少,给的demo没有想要的效果,今天在用datagrid 做分页显示的时候,折腾了半天,网上的资料也比较少,后自己动手,终于解决,废话不说,开始:

datagrid分页 有一个附加的分页控件,只需后台获取分页控件自动提交的两个参数rows每页显示的记录数和page;//当前第几页

然后读取相应页数的记录,和总记录数total一块返回即可 界面如下:

1、下边是datagrid的显示对话框,我直接用table把列头显示出来,感觉比用js写要易于阅读

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<table id="list_data" cellspacing="0" cellpadding="0"
    <thead> 
        <tr> 
            <th field="fldAppDept" width="100">部门</th> 
            <th field="fldAppNode" width="100">网站</th> 
            <th field="fldAppName" width="100">名称</th> 
            <th field="fldAppMgr" width="100">管理员</th> 
            <th field="fldAppNote" width="100">注释</th> 
            <th field="fldAppType" width="100">类型</th> 
            <th field="fldTelphone" width="100">电话</th> 
            <th field="fldAppImg" width="100">职务</th> 
            <th field="fldAppMonitor" width="100">启用监测</th> 
            <th field="fldAppLevel" width="100">要重级别</th> 
        </tr> 
    </thead> 
</table> 

2、js代码,用于构建datagrid

注意 要想显示分页控件,pagination属性必须为true

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
//datagrid初始化 
    $('#list_data').datagrid({ 
        title:'应用系统列表'
        iconCls:'icon-edit',//图标 
        width: 700, 
        height: 'auto'
        nowrap: false
        striped: true
        border: true
        collapsible:false,//是否可折叠的 
        fit: true,//自动大小 
        url:'listApp.action'
        //sortName: 'code', 
        //sortOrder: 'desc', 
        remoteSort:false,  
        idField:'fldId'
        singleSelect:false,//是否单选 
        pagination:true,//分页控件 
        rownumbers:true,//行号 
        frozenColumns:[[ 
            {field:'ck',checkbox:true
        ]], 
        toolbar: [{ 
            text: '添加'
            iconCls: 'icon-add'
            handler: function() { 
                openDialog("add_dialog","add"); 
            
        }, '-', { 
            text: '修改'
            iconCls: 'icon-edit'
            handler: function() { 
                openDialog("add_dialog","edit"); 
            
        }, '-',{ 
            text: '删除'
            iconCls: 'icon-remove'
            handler: function(){ 
                delAppInfo(); 
            
        }], 
    }); 
    //设置分页控件 
    var p = $('#list_data').datagrid('getPager'); 
    $(p).pagination({ 
        pageSize: 10,//每页显示的记录条数,默认为10 
        pageList: [5,10,15],//可以设置每页记录条数的列表 
        beforePageText: '第',//页数文本框前显示的汉字 
        afterPageText: '页    共 {pages} 页'
        displayMsg: '当前显示 {from} - {to} 条记录   共 {total} 条记录'
        /*onBeforeRefresh:function(){
            $(this).pagination('loading');
            alert('before refresh');
            $(this).pagination('loaded');
        }*/ 
    }); 

3、后台我是通过struts2处理的数据 返回json串

private JSONObject result;//返回的json 
       
    private String rows;//每页显示的记录数 
       
    private String page;//当前第几页 
   
        private AppServiceInter appService; 
   
    public JSONObject getResult() { 
        return result; 
    
    public void setResult(JSONObject result) { 
        this.result = result; 
    
    public void setAppService(AppServiceInter appService) { 
        this.appService = appService; 
    
   
        public String getRows() { 
        return rows; 
    
    public void setRows(String rows) { 
        this.rows = rows; 
    
    public String getPage() { 
        return page; 
    
    public void setPage(String page) { 
        this.page = page; 
    
        /**
     * 查询应用系统
     * @return
     */ 
    public String listApp() { 
        System.out.println("---------------"); 
        //当前页 
        int intPage = Integer.parseInt((page == null || page == "0") ? "1":page); 
        //每页显示条数 
        int number = Integer.parseInt((rows == null || rows == "0") ? "10":rows); 
        //每页的开始记录  第一页为1  第二页为number +1  
        int start = (intPage-1)*number; 
           
        List<TblApp> list = appService.findByPageApp(start,number);//每页的数据,放入list 
            Map<String, Object> jsonMap = new HashMap<String, Object>();//定义map 
            jsonMap.put("total", appService.getCountApp());//total键 存放总记录数,必须的 
            jsonMap.put("rows", list);//rows键 存放每页记录 list 
            result = JSONObject.fromObject(jsonMap);//格式化result   一定要是JSONObject 
           
        //result = JSONArray.fromObject(jsonMap); 
        return SUCCESS; 
    

4、附上struts.xml配置文件

<package name="app" extends="json-default"> 
        <action name="listApp" class="appAction" method="listApp"> 
            <result type="json"> 
                <param name="root">result</param
            </result
        </action
</package

特写出这些,方便自己或他人以后参考 ,如果有什么问题大家可以留言......

jqueryeasyui动态生成分页的相关属性设置datagrid

1)title:该DataGrid面板的标题文本。                  2)iconCls:一个CSS类,将提供一个背景图片作为标题图标。                  3)bo...
  • wxwreus
  • wxwreus
  • 2017年02月11日 15:45
  • 1404

jquery easyui datagrid 分页实现---善良公社项目

对于这样的框架还有很多值得我们学习的地方,上面的这些按纽都可以灵活的去添加,例如:添加导入、导出数据等,都容易实现,好的框架的学习,让我们学会了如何站在举人的肩膀上更快成长,具体的行动需要我们融入自己...
  • lishehe
  • lishehe
  • 2013年11月26日 13:42
  • 43455

Symfony2.x EasyUI Ajax 异步加载DataGrid 分页

前言   刚刚接触Symfony2.x,
  • nuaazdh
  • nuaazdh
  • 2014年07月10日 19:10
  • 6672

jQuery EasyUI datagrid本地分页

一般分页都是后台做,前端做无论从
  • qinshenxue
  • qinshenxue
  • 2014年05月22日 09:30
  • 12233

Easyui 使用datagrid分页 详解 代码

做网站的后台设计,用到了easyui,在使用datagrid的分页时遇到了很多问题,比如如何传递分页参数,如何接收总的数据量,经过小半天的研究,终于搞出来了,下面是一些常遇到的问题,可能会对新手有所帮...
  • jp571534020
  • jp571534020
  • 2014年12月16日 11:30
  • 15281

Jquery EasyUI dataGrid 修改默认分页大小

EasyUI 版本:1.3+ - 常见错误代码: $(‘#myGrid’).datagrid({ pageSize:15 }) 解决方案: pageSize 不能单独使用,必...
  • jiweiwong
  • jiweiwong
  • 2015年12月23日 10:22
  • 385

jquery easyUI ajax加载数据分页功能

今天自己搞框架,分享一些封装ajax请求数据,封装分页代码的一些代码心得。 页面先引入easyUI的基础样式和js文件 路径自己修改 然后定义自己的table singleSelect:...
  • shuaipu813
  • shuaipu813
  • 2016年08月16日 16:53
  • 4738

jquery easyui datagrid 分页 请求两次 (1.3.6)

由于第一页的total和其他页的total不相等,easyui会重新发起第一页的请求! 将easyui中第8299行附近的 if(_5ae.total!=data.total){判断取消极客...
  • w627782664
  • w627782664
  • 2014年11月10日 14:51
  • 3345

EasyUI easyui-datagrid分页功能实现

easyui-datagrid的综合实现 可用于直接绑定一个datatable进行显示数据
  • luolei3344
  • luolei3344
  • 2017年03月30日 17:14
  • 1251

jquery easyui datagrid分页显示数据

(mhw)
  • Metal1
  • Metal1
  • 2013年11月30日 14:17
  • 12062
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:jquery easyui datagrid 分页 详解
举报原因:
原因补充:

(最多只允许输入30个字)