使用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里面的方法。
相关推荐
1. **扩展Datagrid功能**:可以通过扩展EasyUI Datagrid的默认功能来实现打印,这可能涉及到自定义事件监听器,当用户触发打印操作时,将当前视图的数据转换为适合打印的格式。 2. **CSS调整**:由于打印时浏览器...
本文将深入探讨如何使用EasyUI datagrid实现多条件筛选功能,特别是支持可复选的筛选条件,类似于淘宝网站上的商品筛选功能。 首先,`datagrid`是EasyUI中的一个核心组件,它用于展示数据表格,支持分页、排序、...
其中,`datagrid`是easyui提供的一个重要的组件,用于展示表格数据,并支持排序、分页等功能。而本文主要探讨的是在`datagrid`组件中如何实现`editor`和`combobox`的级联效果。 #### 一、基础概念介绍 1. **...
通过设置`sortable`属性、自定义`formatter`函数和处理排序事件,我们可以轻松地为DataGrid的列添加排序图标,并实现客户端和服务器端的排序功能。在实际项目中,记得根据需求调整CSS样式和图片资源,以匹配应用的...
对于需要动态编辑表格数据的应用场景,可以通过设置datagrid中的`editor`属性来实现单元格级别的编辑功能。 #### 二、combogrid组件介绍 在easyUI中,`combogrid`是一个结合了`combobox`和`grid`特性的组件,它...
通过设置`href`属性或者使用`formatter`函数,可以自定义链接内容和传递参数。例如,将记录ID作为参数传递到处理函数,以便根据选定的记录进行详细信息查看或编辑。 2. **条件清空**: 用户在搜索或过滤数据后,...
这个“easyUI的dataGrid的使用DEMO”包含了数据库脚本文件,意味着它不仅展示了如何在前端使用 dataGrid,还可能涉及到了后端数据的处理和交互。 1. **jQuery EasyUI 数据网格(dataGrid)**: - `dataGrid` 是 ...
在EasyUI的datagrid中,我们可以使用`formatter`属性来定义字段的显示方式。在这个例子中,`hiredate`字段的`formatter`函数用于将日期对象转换为用户友好的格式。函数`formatterdate`接收三个参数:`value`(默认...
EasyUI Datagrid自定义按钮列实现 EasyUI Datagrid是当前Web开发中常用的数据表格组件,但是它没有提供添加...通过自定义按钮列和EasyUI Datagrid提供的方法和属性,我们可以轻松地实现项目的需求,满足用户的需求。
本文详细介绍了如何使用`query_easyui_datagrid`实现数据的增加、修改和删除功能。通过加载必要的样式和脚本文件,并正确初始化Datagrid组件,可以轻松实现这些操作。此外,还需要编写相应的后台服务端逻辑来支持...
10. **自定义模板**:Datagrid 允许开发者自定义单元格的显示内容,通过 `formatter` 函数实现。这在展示复杂格式的数据或添加交互元素时非常有用。 在 "WebContent" 文件夹中,通常会包含 HTML 文件、CSS 文件和 ...
本教程将深入讲解如何在.NET环境中利用EasyUI的DataGrid实现分页功能,同时也会涉及列的操作。 首先,我们需要理解什么是分页。分页是当数据量过大时,为了提高用户界面的响应速度和用户体验,将数据分成若干页进行...
在使用EasyUI开发Web应用程序时,DataGrid是一个非常实用的组件,它可以帮助我们展示大量结构化的数据,并且提供了丰富的交互功能。在某些情况下,我们可能需要在DataGrid的每行数据后面添加操作按钮,以便用户可以...
在本文中,我们将深入探讨如何在基于EasyUI和TopJUI的Web应用程序中,使用datagrid组件来显示图片,并实现点击图片后放大浏览的功能。这个压缩包文件包含了实现这一功能所需的CSS样式文件、JavaScript脚本以及图片...
EasyUI Datagrid是一个功能丰富的表格组件,它允许开发者自定义列的操作栏,包括添加按钮并设置相应的图标来增强用户体验。当按钮图标没有正确显示时,这会影响用户界面的美观性和易用性。 解决这个问题的关键在于...
第12课(讲解datagrid的formatter的应用,格式化时间、行样式、列样式、表头居中,内容居右等应用)(formatter的提示功能,由于录制问题,没有录制到提示信息,所以大家自己去测试一下吧,不能重新录制了。) 第13课...
在EasyUI的`datagrid`中,每一列的定义可以通过`columns`属性进行配置。要将加号图标移动到其他列,你需要为包含详细视图的列创建一个特殊的模板。例如,如果你想要将加号放在第二列,可以这样设置: ```...
在代码中,还提到了easyuidatagrid与***mvc3的结合使用。对于***mvc3开发者来说,可以利用这个框架快速构建出功能丰富的数据网格界面。在提供的示例下载链接中,包含了前端和Controller的代码,可以直接下载学习和...
`formatter`是EasyUI datagrid用来格式化单元格内容的函数。我们需要修改这个方法,使其在格式化数据前先调用`escapeHtml`函数来转义特殊字符。原代码可能类似如下: ```javascript else { if (col.formatter) { ...