easyui datagrid自定义按钮列,即最后面的操作列(转)

摘要:
在制作项目时,由于需要,我们需要在表的末尾添加一个操作列。EasyUI似乎没有提供此功能,但这无关紧要。我们可以自定义它以实现版本:jQueryeasyUI1.3.2我这里的实现方法是HTML格式的。js方法尚未使用。首先,HTML部分[HTML]viewplatecopyprint?

做项目的时候因为需求,要在表格的最后添加一列操作列,easyUI貌似没有提供这种功能,不过没关系,我们可以自定义来实现

版本:jQuery easyUI 1.3.2

这里我的实现方式是采用HTML形式,js方式暂时还没用到

首先是HTML部分

  1. <table id="dg" title="学生信息" class="easyui-datagrid"  
  2.             url="${ctx}listStudent.do"  
  3.             toolbar="#toolbar" pagination="true"  
  4.             rownumbers="false" fitColumns="true" singleSelect="true">  
  5.         <thead>  
  6.             <tr>  
  7.                 <th data-options="field:'stuNo',sortable:true,20">学号</th>  
  8.                 <th data-options="field:'name',20">姓名</th>  
  9.                 <th data-options="field:'gender',20,formatter:formatGender">性别</th>  
  10.                 <th data-options="field:'nationality',20">名族</th>  
  11.                 <th data-options="field:'address',50,formatter:formatAddr">家庭地址</th>  
  12.                 <th data-options="field:'mobile',20">手机号</th>  
  13.                 <th data-options="field:'birthday',20">出生日期</th>  
  14.                 <th data-options="field:'registDate',sortable:true,20">入学时间</th>  
  15.                 <th data-options="field:'_operate',80,align:'center',formatter:formatOper">操作</th>  
  16.             </tr>  
  17.         </thead>  
  18.     </table>  
<table   title="学生信息"  
			url="${ctx}listStudent.do"
			toolbar="#toolbar" pagination="true"
			rownumbers="false" fitColumns="true" singleSelect="true">
		<thead>
			<tr>
				<th data-options="field:'stuNo',sortable:true,20">学号</th>
				<th data-options="field:'name',20">姓名</th>
				<th data-options="field:'gender',20,formatter:formatGender">性别</th>
				<th data-options="field:'nationality',20">名族</th>
				<th data-options="field:'address',50,formatter:formatAddr">家庭地址</th>
				<th data-options="field:'mobile',20">手机号</th>
				<th data-options="field:'birthday',20">出生日期</th>
				<th data-options="field:'registDate',sortable:true,20">入学时间</th>
				<th data-options="field:'_operate',80,align:'center',formatter:formatOper">操作</th>
			</tr>
		</thead>
	</table>

<th data-options="field:'_operate',80,align:'center',formatter:formatOper">操作</th>
注意红色部分,就是我们的操作列,field的名字随便取,我这里是_operate,关键是formatOper函数

  1. function formatOper(val,row,index){  
  2.     return '<a href="http://t.zoukankan.com/jpfss-p-7381859.html#" onclick="editUser('+index+')">修改</a>';  
  3. }  
function formatOper(val,row,index){
	return '<a href="http://t.zoukankan.com/jpfss-p-7381859.html#" onclick="editUser('+index+')">修改</a>';
}


formatOper()函数中有三个参数,val指当前单元格的值,row,当前行对象,index当前行的索引.这里我们就需要这个index

我把这个index传入了一个叫editUser的函数中,为什么要传这个index呢,我们在来看下这个editUser函数

  1. function editUser(index){  
  2.     $('#dg').datagrid('selectRow',index);// 关键在这里  
  3.     var row = $('#dg').datagrid('getSelected');  
  4.     if (row){  
  5.         $('#dlg').dialog('open').dialog('setTitle','修改学生信息');  
  6.         $('#fm').form('load',row);  
  7.         url = '${ctx}updateStudent.do?id='+row.id;  
  8.     }  
  9. }  
function editUser(index){
	$('#dg').datagrid('selectRow',index);// 关键在这里
	var row = $('#dg').datagrid('getSelected');
	if (row){
		$('#dlg').dialog('open').dialog('setTitle','修改学生信息');
		$('#fm').form('load',row);
		url = '${ctx}updateStudent.do?id='+row.id;
	}
}

翻阅easyUI文档可以发现datagrid有一个方法叫selectRow

selectRow index Select a row, the row index start with 0.

它的作用就是手动选中表格的行,参数就是index值,从0开始

这样,我们就能实时获取到鼠标点击行所对应的数据了

$('#dg').datagrid('selectRow',index);

var row = $('#dg').datagrid('getSelected');

这两句话就是获取选中的行

具体效果如图

 easyui datagrid自定义按钮列,即最后面的操作列(转)第1张

免责声明:文章转载自《easyui datagrid自定义按钮列,即最后面的操作列(转)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Dalsa相机使用问题记录——————————(一)IP配置ArcGIS 基础2-编辑数据下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

C#中对Winform中的DataGridView的控制技巧。(单独控制某单元格的按钮不显示、某单元格的ReadOnly)

1:控制按钮列中的某一行不显示按钮。(使用环境:数据的移动,如把第二行的数据移动到上面去,最下面的一行为合计行,不允许移动,因此,就需要把第一行与最后一行的按钮屏蔽掉。屏蔽的方法:把按钮改成普通的单元格。具体实现代码如下:(第8列中的第一行与最后一行按钮不显示)) //定义绘画表格前的事件,在绘画前把按钮转换成普通单元格。dataGrid.RowPreP...

常用ArcEngine开发代码

●·● 目录: A1 …………实现:鼠标滑过显示要素 tipA2 …………实现:通过鼠标选择要素并高亮显示(ISelectionEnvironment)A3 …………实现:只显示筛选的要素(IFeatureLayerDefinition)A4 …………实现:高亮显示筛选的要素(IFeatureSelection)A5 …………实现:类似 ArcMap 中...

【Android】Anroid5.0+新控件---酷炫标题栏的简单学习

Android5.0+推出的新控件感觉特别酷,最近想模仿大神做个看图App出来,所以先把这些新控件用熟悉了。新控件的介绍、使用等等网上相应的文章已经特别多了,题主也没那能力去写篇详解出来,本篇随笔记录的主要是题主学习这些新控件时遇见的一些困惑以及在搞了半天后的一丝理解,或许也有新手也会碰到跟我一样的困惑,相互学习哈,如果有哪个地方理解错了,还望告知。 效...

web页面弹出窗口代码大全

//-----------按钮提示框----------// <input type="button" name="btn2" id="btn2" value="删除" onclick="return confirm('Yes/No');); //-----------按钮提示框----------// <input type="but...

【前端优化之渲染优化】大屏android手机动画丢帧的背后

前言 上周我与阿里的宇果有一次技术的交流,然后对天猫H5站点做了一些浅层次的分析,后面点时间基本天天都会有联系,中途聊了一些技术细节、聊了双方团队在干什么,最后聊到了前端优化。因为我本身参与了几次携程H5站点的优化,在这方面有一些心得,但是与宇果交流的过程中发现我们在优化的时候忽略了一些细节。 携程做优化的时候整个重心基本放到了尺寸的缩减,和宇果的交...

jQuery EasyUI教程之datagrid应用

一、利用jQuery EasyUI的DataGrid创建CRUD应用       对网页应用程序来说,正确采集和管理数据通常很有必要,DataGrid的CRUD功能允许我们创建页面来列表显示和编辑数据库记录。本教程将教会你如何运用jQuery EasyUI框架来实现DataGrid的CRUD功能 。 我们会用到如下插件: · datagrid: 列表显示数...