`

Jquery easyui datagrid 分页 详解

阅读更多

转载自Horrison的博客:http://www.cnblogs.com/huozhicheng/archive/2011/09/27/2193605.html

 

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

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

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

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

<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

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

 

分享到:
评论

相关推荐

    jquery easyui datagrid demo 详解

    jQuery EasyUI 是一个基于 jQuery 的前端框架,它提供了一系列丰富的组件,使得开发者可以轻松构建用户界面,而 Datagrid 是其中非常重要的一个组件,常用于数据展示和管理。本篇文章将详细解析 jQuery EasyUI ...

    初试JqueryEasyUI(附Demo)

    在初试 Jquery EasyUI 的 Demo 中,你可以通过阅读 `初试JqueryEasyUI.docx` 和 `初试JqueryEasyUI.mht` 文件了解详细步骤和示例代码。`EasyUIDemo` 文件可能是包含实际演示的 HTML 和 JavaScript 代码,可以运行...

    jquery-easyui-datagrid

    **jQuery EasyUI Datagrid 插件详解** jQuery EasyUI 是一套基于 jQuery 的用户界面插件集合,它使得开发者能够快速构建具有专业外观和交互性的 Web 应用程序。`datagrid` 是其中的一个重要组件,主要用于展示表格...

    easy ui datagrid项目完整源代码

    《jQuery Easy UI Datagrid 完整项目源代码详解》 jQuery Easy UI 是一款基于 jQuery 的前端框架,它提供了一系列的组件,使得开发者可以快速构建出美观且功能丰富的 Web 应用程序。其中,Datagrid 是 Easy UI 的...

    jquery easyUI

    **jQuery EasyUI 知识点详解** jQuery EasyUI 是一个基于 jQuery 的前端框架,它提供了一系列的组件,帮助开发者快速构建具有专业外观和交互性的 Web 应用程序。这个框架的核心理念是通过简单的 JavaScript 调用来...

    jquery EasyUI 1.4.3奇葩案例代码

    **jQuery EasyUI 1.4.3:一个奇葩案例代码详解** jQuery EasyUI 是一个基于 jQuery 的前端框架,它提供了一系列的组件,如表格、下拉框、对话框、菜单等,帮助开发者快速构建用户界面。这个“jQuery EasyUI 1.4.3...

    jquery-easyui-1.2.3实例参考

    《jQuery EasyUI 1.2.3 实例详解与应用》 jQuery EasyUI 是一个基于 jQuery 的前端开发框架,它提供了丰富的组件和便捷的API,极大地简化了网页的交互设计和界面构建。在"jquery-easyui-1.2.3实例参考"中,我们可以...

    Jquery EasyUI 最新版本

    **jQuery EasyUI 知识点详解** jQuery EasyUI 是一个基于 jQuery 的轻量级前端框架,它提供了一系列的UI组件,使得开发者能够快速构建出功能丰富、界面美观的Web应用程序。EasyUI 将jQuery的易用性和强大的DOM操作...

    Jqueryeasyui文档

    《jQuery EasyUI 文档详解与应用实践》 jQuery EasyUI 是一个基于 jQuery 的前端框架,它为开发者提供了大量的可重用的 UI 组件,极大地简化了网页界面的开发过程。这个文档集合包含了丰富的 jQuery 相关方法和 ...

    jQuery EasyUI 1.5 版 API 中文版

    - **数据网格(DataGrid)**:用于展示大量结构化数据,支持分页、排序、过滤等功能,还可以与其他数据源如Ajax或服务器端进行交互。 - **对话框(Dialog)**:用于弹出式显示内容,可设置大小、位置、是否可拖动...

    jquery Easyui 后台 系统

    《jQuery EasyUI 后台系统开发详解》 jQuery EasyUI 是一套基于 jQuery 的前端开发框架,它为构建功能丰富的后台管理系统提供了便捷的方式。EasyUI 提供了一整套组件,包括表格、表单、对话框、菜单、树形控件等,...

    jquery-easyui demo

    《jQuery EasyUI 框架详解与应用实例》 jQuery EasyUI 是一款基于 jQuery 的前端框架,它提供了丰富的用户界面组件,使得开发者可以快速构建出美观且功能强大的 Web 应用程序。在 JavaWeb 开发中,jQuery EasyUI ...

    jQuery EasyUI 1.5API 中文版

    1. 数据网格(DataGrid):用于显示大量数据的表格,支持分页、排序、过滤等功能。通过 JSON 或 XML 数据源与后端服务器进行通信。 2. 对话框(Dialog):弹出式窗口,可以作为信息提示、表单输入或其他交互界面。...

    Jquery_EasyUI

    **jQuery EasyUI 知识点详解** jQuery EasyUI 是一个基于 jQuery 的轻量级前端框架,它提供了一系列的UI组件,使得开发者能够快速构建出功能丰富的Web应用界面。这个框架结合了C#后端开发语言,可以实现高效的数据...

    jquery-easyui-1.2 版本

    《jQuery EasyUI 1.2版本详解:打造高效前端界面》 jQuery EasyUI 是一个基于 jQuery 的开源框架,它提供了一系列轻量级、易于使用的组件,帮助开发者快速构建功能丰富的 Web 应用程序。在这一1.2版本中,我们重点...

    jquery.easyui.min

    《jQuery EasyUI 框架详解与应用实践》 jQuery EasyUI 是一款基于 jQuery 的前端开发框架,它为开发者提供了一系列轻量级、易于使用的组件,极大地简化了Web界面的构建过程。标题“jquery.easyui.min”暗示了这是一...

    jQuery EasyUI 1.4.2 版 API 中文版

    **jQuery EasyUI 1.4.2 API 中文版详解** jQuery EasyUI 是一个基于 jQuery 的前端框架,它提供了一套完整的用户界面组件,用于快速构建功能丰富的 Web 应用程序。1.4.2 版本是该框架的一个稳定版本,其中包含了...

    JQuery-EasyUI+Asp.net Demo code

    1. **数据绑定**:在ASP.NET中,可以通过GridView、ListView等控件来展示数据,配合jQuery EasyUI的datagrid组件,可以实现动态加载和分页,提高用户体验。 2. **异步处理**:ASP.NET的ASHX(HttpHandler)接口可...

    Jquery-easyUI动态菜单

    **jQuery EasyUI动态菜单详解** jQuery EasyUI 是一个基于 jQuery 的轻量级前端框架,它提供了丰富的组件,如对话框、表单、菜单等,帮助开发者快速构建用户界面。在这个"Jquery-easyUI动态菜单"项目中,我们将会...

Global site tag (gtag.js) - Google Analytics