`

easyui datagrid使用

阅读更多

 

加载相关js和css,因为easyui依赖jquery,所有加载easyui前要先加载jquery,否则为提示找不到datagrid

 

 

Html代码
  1. <!-- 加载jquery -->  
  2.         <script type="text/javascript" src="plugins/jquery/jquery-1.4.2.min.js"></script>  
  3.         <!-- 加载jquery-easyui -->  
  4.         <link rel="stylesheet" type="text/css" href="plugins/jquery/jquery-easyui-1.1.2/themes/default/easyui.css">  
  5.         <link rel="stylesheet" type="text/css" href="plugins/jquery/jquery-easyui-1.1.2/themes/icon.css">  
  6.         <script type="text/javascript" src="plugins/jquery/jquery-easyui-1.1.2/jquery.easyui.min.js"></script>  
<!-- 加载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>

 

界面加入

 

 

Html代码
  1. <table id="cxdm"></table>  
<table id="cxdm"></table>

 

加载datagrid的js代码

 

 

Java代码
  1. //页面加载  
  2. $(document).ready(function(){  
  3.             loadGrid();  
  4. });  
  5.   
  6. //加载表格datagrid  
  7. function loadGrid()  
  8. {  
  9.     //加载数据  
  10.     $('#cxdm').datagrid({  
  11.                 width: 'auto',  
  12.                 height:300,               
  13.                 striped: true,  
  14.                 singleSelect : true,  
  15.                 url:'getPsNewConsultList.action',  
  16.                 //queryParams:{},  
  17.                 loadMsg:'数据加载中请稍后……',  
  18.                 pagination: true,  
  19.                 rownumbers: true,     
  20.                 columns:[[  
  21.                     {field:'adviceid',title: '来文号',align: 'center',width: getWidth(0.2)},  
  22.                     {field:'consulter',title: '案由',align: 'center',width: getWidth(0.45),  
  23.                         //添加超级链,并将来文号作为参数传入  
  24.                         formatter:function(val,rec){  
  25.                             //alert(rec.adviceid);  
  26.                             return "<a href='jsp/proposal/psconsultview.jsp?id="+rec.adviceid+"'>"+val+"</a>";  
  27.                        }  
  28.                     },  
  29.                     {field:'content',title: '状态',align: 'center',width: getWidth(0.2)},  
  30.                     {field:'replynumber',title: '回复数',align: 'center',width: getWidth(0.05)}                                                          
  31.                 ]]  
  32.             });  
  33. }  
  34.   
  35. //为loadGrid()添加参数  
  36.         var queryParams = $('#cxdm').datagrid('options').queryParams;  
  37.         queryParams.who = who.value;  
  38.         queryParams.type = type.value;  
  39.         queryParams.searchtype = searchtype.value;  
  40.         queryParams.keyword = keyword.value;  
  41.         //重新加载datagrid的数据  
  42.         $("#cxdm").datagrid('reload');  
//页面加载
$(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添加参数的方式

Js代码
  1. //为loadGrid()添加参数  
  2. var queryParams = $('#cxdm').datagrid('options').queryParams;  
  3.         queryParams.who = who.value;  
  4.         queryParams.type = type.value;  
  5.         queryParams.searchtype = searchtype.value;  
  6.         queryParams.keyword = keyword.value;  
  7.         //重新加载datagrid的数据  
  8.         $("#cxdm").datagrid('reload');  
//为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中

Js代码
  1. $('#repeatpspolal').datagrid({  
  2.      title:'重复的未初分提案',  
  3.      loadMsg:"数据加载中,请稍后……",  
  4.      region:'north',  
  5.      url:"getRepeatPs.action?documentnumber="+documentnumber+"&simDegree="+simDegree,  
  6. 。。。。。。  
 $('#repeatpspolal').datagrid({
      title:'重复的未初分提案',
      loadMsg:"数据加载中,请稍后……",
      region:'north',
      url:"getRepeatPs.action?documentnumber="+documentnumber+"&simDegree="+simDegree,
。。。。。。。

 

Action层

 

Java代码
  1. //当前页码  
  2. private int page;  
  3. .........  
  4. //征询意见结果集  
  5. private List<Object> rows;  
  6. ...........  
  7.   
  8. @SuppressWarnings("unchecked")  
  9. public String getPsNewConsultList() throws GlobalException {  
  10.         //获取每页显示的行数  
  11.         int pageRows=10;  
  12.         if(null!=request.getParameter("rows")) {  
  13.             pageRows=Integer.parseInt(request.getParameter("rows").toString());  
  14.         }  
  15.         ...........  
  16.         //获取结果集  
  17.         this.setRows(proposalService.getPsNewConsultList(consulter,consultee,type,psId,psContent,pageRows*(page-1)+1,pageRows*page));  
  18.         //获取总记录数  
  19.         this.setTotal(100);  
  20.         ...............  
  21. }  
	//当前页码
	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

 

Java代码
  1. <action name="getPsNewConsultList" class="proposalConsultAction" method="getPsNewConsultList">  
  2.         <result name="success" type="json">  
  3.              <param name="includeProperties">  
  4.                     ^rows\[\d+\]\.\w+,total  
  5.              </param>  
  6.              <param name="noCache">true</param>    
  7.             <param name="ignoreHierarchy">false</param>   
  8.               </result>  
  9.     </action>  
<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层

 

Java代码
  1. @SuppressWarnings("unchecked")  
  2.     public List getPsNewConsultList(String consulter,String consultee,String type,String psId,String psContent,int pageRows,int page) throws Exception {  
  3.         return proposalDAO.getPsNewConsultList(consulter,consultee,type,psId,psContent,pageRows,page);  
  4.     }  
@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即可,形式如下:

 

Java代码
  1. List<Person> list=new ArrayList<Person>();  
  2. Person person=null;  
  3. while(rs.next())  
  4. {  
  5.     person=new Person();  
  6.     person.setId(i);  
  7.     person.setName("名字"+i);  
  8.     list.add(person);  
  9. }  
  10. .........  
  11. return list;   
分享到:
评论

相关推荐

    easyui datagrid 表格 打印

    4. **使用JavaScript打印库**:可以利用像jsPDF这样的库,将Datagrid数据转换为PDF文档,再进行打印。这种方式不仅能够保留格式,还便于用户保存和分享。 5. ** formatter回调**:在打印前,通过遍历Datagrid的所有...

    easyui datagrid 数据导出到Excel

    文件`Jquery_easyui_datagrid_js导出excel.doc`可能是文档说明或者包含插件使用的示例代码。通常,jQuery插件能简化Datagrid数据导出的操作。一种常见的方式是使用`html2canvas`和`jsPDF`库,它们可以将HTML内容转换...

    easyui datagrid 右冻结

    标题中的“easyui datagrid 右冻结”是指在使用EasyUI框架开发Web应用程序时,针对datagrid组件实现右侧列固定的功能。EasyUI是一个基于jQuery的UI库,提供了丰富的组件,包括datagrid,它是一个用于展示表格数据的...

    easyUI datagrid rownumber自适应宽度扩展JS

    easyUI datagrid 自动调整行号大小

    easyui datagrid中实现上下左右、回车切换单元格

    easyui datagrid中实现上下左右、回车切换单元格easyui datagrid中实现上下左右、回车切换单元格easyui datagrid中实现上下左右、回车切换单元格

    easyui datagrid editor回车切换单元格示例,可参考

    easyui datagrid editor回车切换单元格示例,适合熟悉easyui但又不懂如何做的人员,可能参考一下源码JS。

    JS EasyUI DataGrid动态加载数据

    JS EasyUI DataGrid是一款基于jQuery和EasyUI框架的数据表格组件,它提供了丰富的功能,如数据分页、排序、过滤和自定义操作等。在实际应用中,动态加载数据是DataGrid的一个重要特性,允许用户在需要时加载更多的...

    easyui datagrid 增加鼠标悬停弹窗事件

    在本示例中,我们关注的是如何在EasyUI的Datagrid组件上添加一个特殊功能:当鼠标悬停在某一行时,弹出一个窗口显示该行的关键信息,例如用于图片预览。以下是对这个知识点的详细解释: 1. **EasyUI Datagrid**: ...

    EasyUI DataGrid过滤用法实例

    总的来说,这个实例提供了关于如何在 EasyUI 的 DataGrid 中启用和使用过滤功能的指导。通过设置列的过滤属性、处理过滤事件和重新加载数据,我们可以创建一个交互性强、用户体验良好的数据管理界面。这个实例对于...

    扩展 jQuery EasyUI Datagrid 数据行鼠标悬停离开事件完整版Demo下载

    jQuery EasyUI Datagrid 用户列表鼠标悬停/离开数据行时显示人员头像(onMouseOver/onMouseOut) Demo 扩展 jQuery EasyUI Datagrid 数据行鼠标悬停离开事件,源码奉献!!!

    easyui datagrid在编辑状态下更新列的值

    在使用EasyUI框架开发Web应用时,Datagrid组件是一个非常重要的元素,它提供了一种方便的方式来展示和操作数据。在标题“easyui datagrid在编辑状态下更新列的值”中,我们关注的是如何在Datagrid的编辑模式下动态地...

    jquery easyui datagrid demo

    这个“jquery easyui datagrid demo”包含了一些关于如何使用 jQuery EasyUI 中 Datagrid 组件的示例和相关文档,帮助我们理解和应用 Datagrid。 首先,`datagrid.doc` 文件很可能是 Datagrid 的简要说明文档,它...

    EasyUI Datagrid 中文排序的问题

    特别是在使用如EasyUI Datagrid这样的前端组件时,中文排序成为了开发者面临的一个常见挑战。本文将详细介绍如何解决EasyUI Datagrid中的中文排序问题,并分别从前端和后端两个角度给出具体的实现方案。 #### 二、...

    easyui datagrid 分页查询样例

    通过这个样例,开发者可以学习到如何结合EasyUI Datagrid和SpringMVC实现后台分页查询,理解前后端数据交互的原理,并且掌握相关框架和组件的使用。这将有助于提升Web应用的数据展示效率和用户体验。

    Easyui Datagrid 实现行过滤[模糊查询]

    在IT领域,尤其是在Web开发中,EasyUI是一个广泛使用的JavaScript框架,它基于jQuery,提供了丰富的UI组件,如Datagrid,用于构建数据展示和管理的表格。在本篇中,我们将深入探讨如何在EasyUI的Datagrid中实现行...

    easyui datagrid 多条件筛选 可复选 类似淘宝筛选

    本文将深入探讨如何使用EasyUI datagrid实现多条件筛选功能,特别是支持可复选的筛选条件,类似于淘宝网站上的商品筛选功能。 首先,`datagrid`是EasyUI中的一个核心组件,它用于展示数据表格,支持分页、排序、...

    easyui datagrid 导出到excel

    EasyUI Datagrid是基于HTML和JavaScript的,它使用了jQuery库来简化DOM操作和事件处理。Datagrid提供了一个灵活的表格布局,可以轻松地处理大量数据,并支持多种自定义选项,如列宽调整、行选择、复选框选择等。 2...

    解决EasyUIdataGrid列比较多,无数据,列展现不全

    在使用EasyUI框架进行前端开发的过程中,可能会遇到dataGrid组件在数据为空时列显示不完整的问题。这不仅影响用户体验,也降低了系统的可用性。本文将详细介绍如何解决当dataGrid列较多且无数据显示不全的情况,并...

    easyui datagrid标题列宽度自适应

    EasyUI是一个基于jQuery的轻量级框架,提供了一系列易于使用的UI组件,包括datagrid,用于创建表格布局。 在EasyUI的datagrid中,列的宽度通常可以设置为固定、自动或自适应。固定宽度是直接设定每列的具体像素值;...

    easyUI datagrid 行上移,下移,置顶,置底的方法

    easyUI datagrid 行上移,下移,置顶,置底的方法

Global site tag (gtag.js) - Google Analytics