专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

jquery easyui datagrid 分页 详解

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/2/14 0:12:43       共计:3596 浏览

由于项目原因,用了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

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

版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:人民币金额转大写程序 JavaScript版 | ·下一条:jquery easyui datagrid pageNumber 设置导致两次请求的解决方案

Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有