EasyUI学习之DataGird分页显示数据


Posted in Javascript onDecember 29, 2016

本文实例为大家分享了EasyUI DataGird的使用方法,供大家参考,具体内容如下

1. html代码

<table 
  id="grid" 
  style="width: 940px" 
  title="用户操作" 
  data-options="iconCls:'icon-view'">
</table>

2.显示

EasyUI学习之DataGird分页显示数据

3.js代码

// 页面加载后显示表数据
$(function() {
  var queryData = {};// 可添加一些预设条件
  InitGrid(queryData);// 初始化Datagrid表格数据
});

// 实现对DataGird控件的绑定操作
function InitGrid(queryData) {
  $('#grid').datagrid({ // 定位到Table标签,Table标签的ID是grid
    url : 'getNoticesByUserId',// 指向后台的Action来获取当前用户的信息的Json格式的数据
    title : '公告管理',
    iconCls : 'icon-view',
    height : 650,
    width : function() {
      return document.body.clientWidth
    },// 自动宽度
    pagination : true,
    rownumbers : true,
    sortName : 'title', // 根据某个字段给easyUI排序
    pageSize : 20,
    sortOrder : 'asc',
    remoteSort : false,
    idField : 'id',
    queryParams : queryData, // 异步查询的参数
    columns : [ [ {
      field : 'ck',
      width : '1%',
      checkbox : true
    }, {
      title : '标题',
      field : 'title',
      width : '9%',
      sortable : true,
      halign : 'center'
    }, {
      title : '发布人',
      field : 'userName',
      width : '10%',
      sortable : true,
      halign : 'center'
    }, {
      title : '内容',
      field : 'content',
      width : '50%',
      sortable : true,
      halign : 'center',
      sortable : false
    }, {
      title : '创建日期',
      field : 'createDate',
      width : '20%',
      sortable : true,
      halign : 'center',
      align : 'center',
      sortable : false
    } ] ],
    toolbar : [ {
      id : 'btnAdd',
      text : '添加',
      iconCls : 'icon-add',
      handler : function() {
        ShowAddDialog();// 实现添加记录的页面
      }
    }, '-', {
      id : 'btnEdit',
      text : '修改',
      iconCls : 'icon-edit',
      handler : function() {
        ShowEditDialog();// 实现修改记录的方法
      }
    }, '-', {
      id : 'btnDelete',
      text : '删除',
      iconCls : 'icon-remove',
      handler : function() {
        Delete();// 实现直接删除数据的方法
      }
    } ]
  });

};

4.Json数据

{
  "total": 2,
  "rows":[{
      "content": "11",
      "createDate": "2016-12-15 23:03:50",
      "id": 1,
      "title": "11",
      "userName": "789"

    }, {
      "content": "我是",
      "createDate": "2016-12-16 20:10:03",
      "id": 4,
      "title": "为",
      "userName": "789"
    }
  ]
}

5.Java后台封装

/********************1.action代码*******************/
private NoticeManager noticeManager;
private int page;
private int rows;
Map<String, Object> map = new HashMap<String, Object>();

public NoticeManager getNoticeManager() {
  return noticeManager;
}
public void setNoticeManager(NoticeManager noticeManager) {
  this.noticeManager = noticeManager;
}
public int getPage() {
  return page;
}
public void setPage(int page) {
  this.page = page;
}
public int getRows() {
  return rows;
}
public void setRows(int rows) {
  this.rows = rows;
}
public Map<String, Object> getMap() {
  return map;
}
public void setMap(Map<String, Object> map) {
  this.map = map;
}

/**
 * @Title: getNoticesByUserId 
 * @Description: TODO(获取首页显示的所有公告数据) 
 * @return??? 设定文件
 * @return String??? 返回类型
 * @throws
 */
public String getNoticesByUserId() {
  // 存放数据的list
  List<ANotice> aNotices = new ArrayList<ANotice>();
  User u = (User) getSession().get("LoginUser");
  List<Notice> notices = noticeManager.GetNotices(page, rows, u.getId());

  for (Notice notice : notices) {
    ANotice aNotice = new ANotice();
    aNotice.setId(notice.getId());
    aNotice.setTitle(notice.getTitle());
    aNotice.setCreateDate(notice.getCreateDate());
    aNotice.setUserName(u.getUsername());
    aNotice.setContent(notice.getContent());
    aNotices.add(aNotice);
  }

  // total是easyui分页工具的总页数。名字固定。
  map.put("total", noticeManager.getTotal(page, rows, u.getId()));
  map.put("rows", aNotices);

  return SUCCESS;
}

// total是easyui分页工具的总页数。名字固定。
map.put("total", noticeManager.getTotal(page, rows, u.getId()));
map.put("rows", aNotices);

/********************2.Manager代码*******************/
@Override
public List<Notice> GetNotices(int page, int rows, int userId) {    
  String hql="From Notice Where 1=1 and userId = ?";
  return dao.find(hql, new Object[]{userId}, page, rows);   
}

@Override
public Long getTotal(int page, int rows, int userId) { 
  String hql="select count(*) from Notice Where 1=1 and userId = ?";
  return dao.count(hql, new Object[]{userId});
}

/********************3.dao代码*******************/
public List<T> find(String hql, Object[] param, Integer page, Integer rows) {
  if (page == null || page < 1) { 
    page = 1; 
  }
  if (rows == null || rows < 1) {
    rows = 10; 
  } 
  Query q = this.getCurrentSession().createQuery(hql); 
  if (param != null && param.length > 0) { 
    for (int i = 0; i < param.length; i++) { 
      q.setParameter(i, param[i]); 
    } 
  } 
  return q.setFirstResult((page - 1) * rows).setMaxResults(rows).list(); 
}

6.struts配置文件

<!--前后台通过Json方式传输数据 -->
<package name="jsonPackage" extends="struts-default,json-default">
  <action name="getNoticesByUserId" class="NoticeAction" method="getNoticesByUserId">
    <!-- 返回json类型数据 -->
    <result name="success" type="json">
      <param name="root">map</param>
    </result>
  </action>
</package>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Firefox下提示illegal character并出现乱码的原因
Mar 25 Javascript
关于图片按比例自适应缩放的js代码
Oct 30 Javascript
基于jquery的时间段实现代码
Aug 02 Javascript
jquery仿搜索自动联想功能代码
May 23 Javascript
jQuery操作cookie方法实例教程
Nov 25 Javascript
javascript实现修改微信分享的标题内容等
Dec 11 Javascript
JavaScript实现表格点击排序的方法
May 11 Javascript
socket.io与pm2(cluster)集群搭配的解决方案
Jun 02 Javascript
Vue使用枚举类型实现HTML下拉框步骤详解
Feb 05 Javascript
微信小程序登录对接Django后端实现JWT方式验证登录详解
Jul 29 Javascript
jQuery插件simplePagination的使用方法示例
Apr 28 jQuery
AJAX XMLHttpRequest对象创建使用详解
Aug 20 Javascript
EasyUI学习之Combobox级联下拉列表(2)
Dec 29 #Javascript
js生成随机颜色方法代码分享(三种)
Dec 29 #Javascript
js实现把图片的绝对路径转为base64字符串、blob对象再上传
Dec 29 #Javascript
jQuery实现6位数字密码输入框
Dec 29 #Javascript
JQuery统计input和textarea文字输入数量(代码分享)
Dec 29 #Javascript
jQuery中的siblings()是什么意思(推荐)
Dec 29 #Javascript
JQuery获取鼠标进入和离开容器的方向
Dec 29 #Javascript
You might like
社区(php&amp;&amp;mysql)六
2006/10/09 PHP
PHP5 安装方法
2007/01/15 PHP
PHP 强制性文件下载功能的函数代码(任意文件格式)
2010/05/26 PHP
让PHP显示Facebook的粉丝数量方法
2014/01/08 PHP
php自定义session示例分享
2014/04/22 PHP
php快递单号查询接口使用示例
2014/05/05 PHP
WordPress迁移时一些常见问题的解决方法整理
2015/11/24 PHP
php面向对象的用户登录身份验证
2017/06/08 PHP
PHP数据库操作四:mongodb用法分析
2017/08/16 PHP
tp5框架基于Ajax实现列表无刷新排序功能示例
2020/02/10 PHP
JQuery动画和停止动画实例代码
2013/03/01 Javascript
JS实现消息来时让网页标题闪动效果的方法
2016/04/20 Javascript
用js控件div的滚动条,让它在内容更新时自动滚到底部的实现方法
2016/10/27 Javascript
微信小程序之ES6与事项助手的功能实现
2016/11/30 Javascript
js继承实现方法详解
2016/12/16 Javascript
详解使用vue脚手架工具搭建vue-webpack项目
2017/05/10 Javascript
使用vue官方提供的模板vue-cli搭建一个helloWorld案例分析
2018/01/16 Javascript
vue-router懒加载速度缓慢问题及解决方法
2018/11/25 Javascript
详解vue 2.6 中 slot 的新用法
2019/07/09 Javascript
Vue项目中如何使用Axios封装http请求详解
2019/10/23 Javascript
详解如何修改 node_modules 里的文件
2020/05/22 Javascript
跟老齐学Python之变量和参数
2014/10/10 Python
django rest framework vue 实现用户登录详解
2019/07/29 Python
python实现一个函数版的名片管理系统过程解析
2019/08/27 Python
CSS3中Animation动画属性用法详解
2016/07/04 HTML / CSS
UNIX文件名称有什么规定
2013/03/25 面试题
医科学校毕业生自荐信
2013/11/09 职场文书
报告会主持词
2014/04/02 职场文书
个人安全生产承诺书
2014/05/22 职场文书
贷款担保书
2015/01/20 职场文书
设备技术员岗位职责
2015/04/11 职场文书
学校党员干部承诺书
2015/05/04 职场文书
指导老师鉴定意见
2015/06/05 职场文书
董事长致辞
2015/07/29 职场文书
oracle表分区的概念及操作
2021/04/24 Oracle
优化Mysql查询的示例
2022/04/26 MySQL