`
Notebookdong
  • 浏览: 122336 次
社区版块
存档分类
最新评论

EasyUI DataGrid使用formatter属性实现自定义功能

阅读更多

   使用JQuery EasyUI中的DataGrid组件可以很方便的得到一个数据表格,这里将对这个数据表格做一点扩展,让它能够上下移动表格里的数据行。

   1.定义数据表格:

     

<table id="gd" class="easyui-datagrid" title="Basic DataGrid" style="width:700px;height:250px"  
            data-options="singleSelect:true,collapsible:true,url:'../datagrid/datagrid_data1.json'">  
	<thead>  
		<tr>  
			<th data-options="field:'itemid',width:80">Item ID</th>  
			<th data-options="field:'productid',width:100">Product</th>  
			<th data-options="field:'listprice',width:80,align:'right'">List Price</th>  
			<th data-options="field:'unitcost',width:80,align:'right'">Unit Cost</th>  
			<th data-options="field:'attr1',width:250">Attribute</th>  
			<th data-options="field:'status',width:60,align:'center'">Status</th>  
			<th field="23" formatter="sort_format" width="100">sort</th>
		</tr>  
	</thead>  
</table>  

   这里定义了一栏位名叫sort,他的字段是没有的所以随便写了点东西,在这一栏里面有个formatter属性,它是一个JS function内容如下: 

function sort_format(val,row,index){
	var res = "";
	if(index!=0){
		res+="<a name='up' href='javascript:void(0);' onclick=\"mysort("+index+",'up','gd);\" title='上移'>上移</a> | ";
	}
	var rows=$('#gd').datagrid('getRows').length;
	if(index !=rows-1){
		res+="<a name='down' href='javascript:void(0);' onclick=\"mysort("+index+",'down','gd');\" title='下移'>下移</a>";
	}else{
		res = res.replace("|","");
	}
	return res;
}

 2.定义好formatter方法后,在来定义一个mysort方法:

function mysort(index,type,gridname){
	if("up" == type){
		if(index != 0){
			var toup = $('#'+gridname).datagrid('getData').rows[index];
			var todown = $('#'+gridname).datagrid('getData').rows[index-1];
			$('#'+gridname).datagrid('getData').rows[index] = todown;
			$('#'+gridname).datagrid('getData').rows[index-1] = toup;
			$('#'+gridname).datagrid('refreshRow',index);
			$('#'+gridname).datagrid('refreshRow',index-1);
			$('#'+gridname).datagrid('selectRow',index-1);
		}
	}else if("down" == type){
		var rows=$('#'+gridname).datagrid('getRows').length;
		if(index != rows-1){
			var todown = $('#'+gridname).datagrid('getData').rows[index];
			var toup = $('#'+gridname).datagrid('getData').rows[index+1];
			$('#'+gridname).datagrid('getData').rows[index+1] = todown;
			$('#'+gridname).datagrid('getData').rows[index] = toup;
			$('#'+gridname).datagrid('refreshRow',index);
			$('#'+gridname).datagrid('refreshRow',index+1);
			$('#'+gridname).datagrid('selectRow',index+1);
		}
	}
				
}

 这样写完之后就可以在页面上进行上下移动行的操作了。

ps.使用refreshRow方法EasyUI都会重新调用该行的formatter里面的方法。

 

 

 

分享到:
评论

相关推荐

    easyui datagrid 表格 打印

    1. **扩展Datagrid功能**:可以通过扩展EasyUI Datagrid的默认功能来实现打印,这可能涉及到自定义事件监听器,当用户触发打印操作时,将当前视图的数据转换为适合打印的格式。 2. **CSS调整**:由于打印时浏览器...

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

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

    easyui的datagrid中editor和combobox的级联

    其中,`datagrid`是easyui提供的一个重要的组件,用于展示表格数据,并支持排序、分页等功能。而本文主要探讨的是在`datagrid`组件中如何实现`editor`和`combobox`的级联效果。 #### 一、基础概念介绍 1. **...

    easyui datagrid排序图标

    通过设置`sortable`属性、自定义`formatter`函数和处理排序事件,我们可以轻松地为DataGrid的列添加排序图标,并实现客户端和服务器端的排序功能。在实际项目中,记得根据需求调整CSS样式和图片资源,以匹配应用的...

    easyui的datagrid中editor和combogrid的结合使用

    对于需要动态编辑表格数据的应用场景,可以通过设置datagrid中的`editor`属性来实现单元格级别的编辑功能。 #### 二、combogrid组件介绍 在easyUI中,`combogrid`是一个结合了`combobox`和`grid`特性的组件,它...

    easyui Datagrid 数据列表比较上一个上传的增加了超链接并传值、条件清空、日期控件清空和数据修改功能

    通过设置`href`属性或者使用`formatter`函数,可以自定义链接内容和传递参数。例如,将记录ID作为参数传递到处理函数,以便根据选定的记录进行详细信息查看或编辑。 2. **条件清空**: 用户在搜索或过滤数据后,...

    easyUI的dataGrid的使用DEMO

    这个“easyUI的dataGrid的使用DEMO”包含了数据库脚本文件,意味着它不仅展示了如何在前端使用 dataGrid,还可能涉及到了后端数据的处理和交互。 1. **jQuery EasyUI 数据网格(dataGrid)**: - `dataGrid` 是 ...

    解决easyui datagrid控件的日期显示问题1

    在EasyUI的datagrid中,我们可以使用`formatter`属性来定义字段的显示方式。在这个例子中,`hiredate`字段的`formatter`函数用于将日期对象转换为用户友好的格式。函数`formatterdate`接收三个参数:`value`(默认...

    Easyui Datagrid自定义按钮列(最后面的操作列)

    EasyUI Datagrid自定义按钮列实现 EasyUI Datagrid是当前Web开发中常用的数据表格组件,但是它没有提供添加...通过自定义按钮列和EasyUI Datagrid提供的方法和属性,我们可以轻松地实现项目的需求,满足用户的需求。

    query_easyui_datagrid的增加_修改_删除.

    本文详细介绍了如何使用`query_easyui_datagrid`实现数据的增加、修改和删除功能。通过加载必要的样式和脚本文件,并正确初始化Datagrid组件,可以轻松实现这些操作。此外,还需要编写相应的后台服务端逻辑来支持...

    easyUI,datagrid小样例

    10. **自定义模板**:Datagrid 允许开发者自定义单元格的显示内容,通过 `formatter` 函数实现。这在展示复杂格式的数据或添加交互元素时非常有用。 在 "WebContent" 文件夹中,通常会包含 HTML 文件、CSS 文件和 ...

    .net 使用easyUI_DataGrid分页

    本教程将深入讲解如何在.NET环境中利用EasyUI的DataGrid实现分页功能,同时也会涉及列的操作。 首先,我们需要理解什么是分页。分页是当数据量过大时,为了提高用户界面的响应速度和用户体验,将数据分成若干页进行...

    EasyUI的DataGrid每行数据添加操作按钮的实现代码

    在使用EasyUI开发Web应用程序时,DataGrid是一个非常实用的组件,它可以帮助我们展示大量结构化的数据,并且提供了丰富的交互功能。在某些情况下,我们可能需要在DataGrid的每行数据后面添加操作按钮,以便用户可以...

    datagrid显示图片并点击放大浏览样式文件.zip

    在本文中,我们将深入探讨如何在基于EasyUI和TopJUI的Web应用程序中,使用datagrid组件来显示图片,并实现点击图片后放大浏览的功能。这个压缩包文件包含了实现这一功能所需的CSS样式文件、JavaScript脚本以及图片...

    easyui datagrid 表格中操作栏 按钮图标不显示的解决方法

    EasyUI Datagrid是一个功能丰富的表格组件,它允许开发者自定义列的操作栏,包括添加按钮并设置相应的图标来增强用户体验。当按钮图标没有正确显示时,这会影响用户界面的美观性和易用性。 解决这个问题的关键在于...

    EasyUI入门教程--第01课_EasyUI简介.avi

    第12课(讲解datagrid的formatter的应用,格式化时间、行样式、列样式、表头居中,内容居右等应用)(formatter的提示功能,由于录制问题,没有录制到提示信息,所以大家自己去测试一下吧,不能重新录制了。) 第13课...

    让easyui datagrid-detailview. +号图标 定义在其他列的后面

    在EasyUI的`datagrid`中,每一列的定义可以通过`columns`属性进行配置。要将加号图标移动到其他列,你需要为包含详细视图的列创建一个特殊的模板。例如,如果你想要将加号放在第二列,可以这样设置: ```...

    JQueryEasyUI datagrid框架的进阶使用

    在代码中,还提到了easyuidatagrid与***mvc3的结合使用。对于***mvc3开发者来说,可以利用这个框架快速构建出功能丰富的数据网格界面。在提供的示例下载链接中,包含了前端和Controller的代码,可以直接下载学习和...

    easyui-datagrid特殊字符不能显示的处理方法

    `formatter`是EasyUI datagrid用来格式化单元格内容的函数。我们需要修改这个方法,使其在格式化数据前先调用`escapeHtml`函数来转义特殊字符。原代码可能类似如下: ```javascript else { if (col.formatter) { ...

Global site tag (gtag.js) - Google Analytics