easyui datagrid使用(好)
加载相关js和css,因为easyui依赖jquery,所有加载easyui前要先加载jquery,否则为提示找不到datagrid
- <!-- 加载jquery -->
- <script type="text/javascript" src="plugins/jquery/jquery-1.4.2.min.js"></script>
- <!-- 加载jquery-easyui -->
- <link rel="stylesheet" type="text/css" href="plugins/jquery/jquery-easyui-1.1.2/themes/default/easyui.css">
- <link rel="stylesheet" type="text/css" href="plugins/jquery/jquery-easyui-1.1.2/themes/icon.css">
- <script type="text/javascript" src="plugins/jquery/jquery-easyui-1.1.2/jquery.easyui.min.js"></script>
界面加入
- <table id="cxdm"></table>
加载datagrid的js代码
- //页面加载
- $(document).ready(function(){
- loadGrid();
- });
- //加载表格datagrid
- function loadGrid()
- {
- //加载数据
- $('#cxdm').datagrid({
- width: 'auto',
- height:300,
- striped: true,
- singleSelect : true,
- url:'getPsNewConsultList.action',
- //queryParams:{},
- loadMsg:'数据加载中请稍后……',
- pagination: true,
- rownumbers: true,
- columns:[[
- {field:'adviceid',title: '来文号',align: 'center',width: getWidth(0.2)},
- {field:'consulter',title: '案由',align: 'center',width: getWidth(0.45),
- //添加超级链,并将来文号作为参数传入
- formatter:function(val,rec){
- //alert(rec.adviceid);
- return "<a href='jsp/proposal/psconsultview.jsp?id="+rec.adviceid+"'>"+val+"</a>";
- }
- },
- {field:'content',title: '状态',align: 'center',width: getWidth(0.2)},
- {field:'replynumber',title: '回复数',align: 'center',width: getWidth(0.05)}
- ]]
- });
- }
- //为loadGrid()添加参数
- var queryParams = $('#cxdm').datagrid('options').queryParams;
- queryParams.who = who.value;
- queryParams.type = type.value;
- queryParams.searchtype = searchtype.value;
- queryParams.keyword = keyword.value;
- //重新加载datagrid的数据
- $("#cxdm").datagrid('reload');
datagrid添加参数的方式
- //为loadGrid()添加参数
- var queryParams = $('#cxdm').datagrid('options').queryParams;
- queryParams.who = who.value;
- queryParams.type = type.value;
- queryParams.searchtype = searchtype.value;
- queryParams.keyword = keyword.value;
- //重新加载datagrid的数据
- $("#cxdm").datagrid('reload');
或者直接添加在url中
- $('#repeatpspolal').datagrid({
- title:'重复的未初分提案',
- loadMsg:"数据加载中,请稍后……",
- region:'north',
- url:"getRepeatPs.action?documentnumber="+documentnumber+"&simDegree="+simDegree,
- 。。。。。。
Action层
- //当前页码
- private int page;
- .........
- //征询意见结果集
- private List<Object> rows;
- ...........
- @SuppressWarnings("unchecked")
- public String getPsNewConsultList() throws GlobalException {
- //获取每页显示的行数
- int pageRows=10;
- if(null!=request.getParameter("rows")) {
- pageRows=Integer.parseInt(request.getParameter("rows").toString());
- }
- ...........
- //获取结果集
- this.setRows(proposalService.getPsNewConsultList(consulter,consultee,type,psId,psContent,pageRows*(page-1)+1,pageRows*page));
- //获取总记录数
- this.setTotal(100);
- ...............
- }
其中的page由datagrid传入,当用户在datagrid左下角选择每页显示的行数时,datagrid会将该值已参数形式附加到url后面传入action中,名字就叫page,还要将结果总行数total传给datagrid,用于分页
不知道是datagrid配置有误还是datagrid的bug,datagrid的结果集和每页显示的行数都叫rows,重名了
解决办法如上,结果集还是叫rows,但是List的类型改为Object而不能用实体的类型,每页显示的行数通过request获取
action配置时,要继承json-default,json-default继承自struts-default,还要配置输出结果类型为json
- <action name="getPsNewConsultList" class="proposalConsultAction" method="getPsNewConsultList">
- <result name="success" type="json">
- <param name="includeProperties">
- ^rows\[\d+\]\.\w+,total
- </param>
- <param name="noCache">true</param>
- <param name="ignoreHierarchy">false</param>
- </result>
- </action>
service层
- @SuppressWarnings("unchecked")
- public List getPsNewConsultList(String consulter,String consultee,String type,String psId,String psContent,int pageRows,int page) throws Exception {
- return proposalDAO.getPsNewConsultList(consulter,consultee,type,psId,psContent,pageRows,page);
- }
dao层只需要将ResultSet中的数据循环加入实体属性,然后将实体实例加入List即可,形式如下:
- List<Person> list=new ArrayList<Person>();
- Person person=null;
- while(rs.next())
- {
- person=new Person();
- person.setId(i);
- person.setName("名字"+i);
- list.add(person);
- }
- .........
- return list;
easyui datagrid使用(好)的更多相关文章
- JQuery easyUI DataGrid 创建复杂列表头(译)
» Create column groups in DataGrid The easyui DataGrid has ability to group columns, as the followin ...
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(8)-MVC与EasyUI DataGrid 分页
系列目录 前言 为了符合后面更新后的重构系统,文章于2016-11-1日重写 EasyUI Datagrid在加载的时候会提交一些分页的信息到后台,我们需要根据这些信息来进行数据分页再次返回到前台 实 ...
- 控制EasyUI DataGrid高度
这次要说的是控制EasyUI的高度,平时我公司的项目,用EasyUI较多,然后datagrid这个组件是用的非常多的.平时我们都是固定高度,常见代码如下: <table ...
- EasyUI datagrid 日期时间格式化
EasyUI datagrid中显示日期时间时,会显示为以下不太直观的数值: 添加以下JavaScript脚本,然后在field中添加 formatter: DateTimeFormatter 即可. ...
- easyui datagrid中 多表头方法总结
easyui datagrid中怎么设置表头成多行显示呢?其实很简单,就是给datagrid的columns属性设置成多个数组就行了.下面直接看例子吧,这是一个两行表头的,按照此方法,还可以设置三行表 ...
- jquery easyui datagrid翻页后再查询始终从第一页开始
在查询之前将datagrid的属性pageNumber重新设置为1 var opts = grid.datagrid('options'); opts.pageNumber = 1; easyui d ...
- 让easyui datagrid支持bootstrap的tooltip
让easyui datagrid支持bootstrap的tooltip 发表于 下午 1:53 by ylpro.net & 分类 Java. Easyui在1.3.3版本之前是不支持tool ...
- easyui datagrid 没数据时显示滚动条的解决方法
今天解决了一个bug,因为datagrid有多列,可是当没有数据的时候,后面的列无法通过滚动条拉动来显示,比较麻烦,而需求要求没有数据也要拉动滚动条查看后面有什么列,一开始在网上找了一些资料,发现都不 ...
- VS2012 easyui datagrid url访问之坑
VS2012 easyui datagrid url访问之坑 url属性放的是地址的话 返回的json格式必须有 total 和 rows,如下: {"total":2," ...
- EasyUI Datagrid Datetime(EasyUI DataGrid 时间格式化)
EasyUI DataGrid 时间格式化 方法一: var Common = { //EasyUI用DataGrid用日期格式化 TimeFormatter: function (value, re ...
随机推荐
- Ubuntu 14.10 下进程实时IO监控iotop命令详解
介绍 Linux下的IO统计工具如iostat, nmon等大多数是只能统计到per设备的读写情况, 如果你想知道每个进程是如何使用IO的就比较麻烦. iotop 是一个用来监视磁盘 I/O 使用状况 ...
- linux添加动态库搜索路径
在有时运行程序出现动态库找不着的问题,而明明装了的.这时候可能是没有将相应的路径添加到系统中去. 具体说:cd /etc/ld.so.conf.d/ 可以发现里面有一堆*.conf的文件 我们要做的就 ...
- 求一个数组中最小的K个数
方法1:先对数组进行排序,然后遍历前K个数,此时时间复杂度为O(nlgn); 方法2:维护一个容量为K的最大堆(<算法导论>第6章),然后从第K+1个元素开始遍历,和堆中的最大元素比较,如 ...
- Ubuntu 升级VisualBox后无法启动 Kernel driver not installed (rc=-1908)
VisualBox之所以在Linux上比传统的VMware快得多,关键一点就是它和Linux内核的结合比较紧密,这也是开源的优点. 不过Linux内核更新很频繁,每次更新内核后启动VirtualBox ...
- PHP输出缓冲控制
说到输出缓冲,首先要说的是一个叫做缓冲器(buffer)的东西.举个简单的例子说明他的作用:我们在编辑一篇文档时,在我们没有保存之前,系统是不会 向磁盘写入的,而是写到buffer中,当buffer写 ...
- ERP权限系统(七)
添加链接权限的字段: //权限管理 n.Target = "MainFrame"; //折叠 TreeView1.Nodes.Add(n); n.Expanded = false;
- OC中在.h和.m中声明的属性和成员变量有何区别?
相比Swift而言,OC规矩太多. 差不多,.h中声明的属性和成员变量均可以在子类中访问到.而.m则不可.而属性其实也就是成员变量的一种简写,其内部自动包含了getter和setter方法. 如图:V ...
- Sqlserver 笔记 持续更新
1.sp_spaceused : sp_spaceused table_name ----------------------------------------------------------- ...
- iOS中的多线程及GCD
多线程中的一些概念 //任务:代码段 方法 线程就是执行这些任务 //NSThread类 创建线程 执行线程 [NSThread isMainThread]//判断是否是主线程 #import & ...
- linux死锁检测的一种思路
前言: 上一篇博文讲述了pstack的使用和原理. 和jstack一样, pstack能获取进程的线程堆栈快照, 方便检验和性能评估. 但jstack功能更加的强大, 它能对潜在的死锁予以提示, 而p ...