在easyui的datagrid里面,实现复制每行特定单元格的功能,关键是想想如何获取到每个单元格的数据,功能是点击按钮"复制",然后复制object的下载地址,截图如下所示:

进行下面的代码展示之前假设你已经把环境准备好了,也就是说easyui和zclip的库文件等都已经能够正常访问。

关键代码如下:

html代码:

  1. <div style="height: 90%;overflow: auto;margin: 0px;padding: 0px;">
  2. <input type="hidden" name="slb.id" id="slbid" value="${oss.id}" />
  3. <span style="color:blue; ">获取Object地址:</span>
  4. <table id='data_list' border="0" width="70%" height="60%"
  5. style="padding: 10px">
  6. <thead>
  7. <tr>
  8. <th data-options="field:'fileName', width:100,align:'center' "></th>
  9. <th data-options="field:'downLoadUrl', width:400,align:'left'"></th>
  10. <th data-options="field:'opt', width:100,align:'left',formatter:showOpt"></th>
  11. </tr>
  12. </thead>
  13. </table>
  14. </div>

javascript代码如下所示:

  1. onLoadSuccess: function (data) {
  2. var loadUrl='';
  3. //绑定行的mouseover事件
  4. $(".datagrid-row").mouseover(function(){
  5. var url = $(this).children("td").eq(1).text();
  6. loadUrl=url;
  7. }),
  8. $('#copy_input').zclip({
  9. path: '${pageContext.request.contextPath}/js/ZeroClipboard.swf',
  10. copy: function(){
  11. return loadUrl;
  12. },
  13. afterCopy:function(){
  14. Alert('复制成功!');
  15. }
  16. });
  17. }

javascript代码:

  1. function showOpt(value,row,index){
  2. return '<input type="button" value="复制" id="copy_input">';
  3. }

上面的功能就是在datagrid加载成功之后在每一个按钮"复制"上面渲染一层透明的flash。点击"复制"按钮之后复制object的下载地址,这是正常的逻辑,在这个功能,我之所以记录下来,个人觉得用到最好的不是zclip,并不是为了记录zclip。而是巧妙地绑定了datagrid的行的鼠标靠近事件,在触发复制按钮的操作之前先一步拿到了下载地址地值,如果不这样做,我是没办法拿到值的。想了很多方法均是不行,我也认为是不行的,后来突发奇想想到要这么做。所以多想想总是能够解决问题的,总能找到解决问题的方案的。不要给自己妥协。

zclip结合easyui实现复制datagrid每行特定单元格数据的功能的更多相关文章

  1. (转载)WPF:DataGrid设置行、单元格的前景色

    WPF:DataGrid设置行.单元格的前景色 0. 说明 /********************************** 本示例实现功能1.DataGrid基本操作2.列标题样式3.内容居中 ...

  2. EasyUI Datagrid 鼠标悬停显示单元格内容 复制代码

    EasyUI Datagrid 鼠标悬停显示单元格内容 ,halign:, align: 0 « 上一篇:LINQ to Entities 中的查询» 下一篇:去掉字符串中的非数字字符 posted ...

  3. easyUi datagrid鼠标经过提示单元格内容

    此文章是基于 EasyUI+Knockout实现经典表单的查看.编辑 一. jquery.cellTip.js /** * 扩展两个方法 */ using('datagrid', function() ...

  4. Easyui datagrid 设置内容超过单元格宽度时自动换行显示

    datagrid 设置内容超过单元格宽度时自动换行显示 by:授客 QQ:1033553122 测试环境 jquery-easyui-1.5.3 问题描述 单元格内容超过单元格宽度不会自动化换行.如下 ...

  5. 获取wpf datagrid当前被编辑单元格的内容

    原文 获取wpf datagrid当前被编辑单元格的内容 确认修改单元个的值, 使用到datagrid的两个事件 开始编辑事件 BeginningEdit="dataGrid_Beginni ...

  6. CxGrid 改变某行或单元格的颜色

    CxGrid 改变某行或单元格的颜色   一个表(T)的结构结构如下. ID Test 1 20012 14443 17885 26456 4568 cxGrid成功连接到该表, 如果要实现单元格特效 ...

  7. ExtJs GridPanel 给表格行或者单元格自定义样式

    Ext.onReady(function(){ Ext.create('Ext.data.Store', { storeId:'simpsonsStore', fields:['name', 'ema ...

  8. table、tr、td表格的行、单元格等属性说明

    table.tr.td表格的行.单元格等属性说明 <table>标签定义HTML表格.简单的HTML表格由table元素以及一个或多个tr.th或td元素组成. tr元素定义表格行,th元 ...

  9. JS遍历表格获取每行数据及每个单元格数据

    /** * 遍历表格获取每行数据及每个单元格数据 * @param tableID 表格ID */ function GetTable(tableID) { var milasUrl = {};//新 ...

随机推荐

  1. 字符设备驱动ioctl实现用户层内核层通信

    测试代码实现 memdev.h #ifndef _MEMDEV_H_ #define _MEMDEV_H_ #include<linux/ioctl.h> #ifndef MEMDEV_M ...

  2. selenium TestNG 依赖和忽略测试

    依赖:通过使用Test 注释的dependsOnMethods={"verifyLogin"}子句,verifyAccountInfo 测试指定了它依赖verifyLogin()方 ...

  3. Selenium2+python自动化20-Excel数据参数化【转载】

    前言 问: Python 获取到Excel一列值后怎么用selenium录制的脚本中参数化,比如对登录用户名和密码如何做参数化? 答:可以使用xlrd读取Excel的内容进行参数化.当然为了便于各位小 ...

  4. 安装配置Elasticserch的方法

    1.安装java环境 先查看环境是否安装 yum list installed |grep java 如果存在自带的环境则卸载 yum -y remove java--openjdk* 查看安装包 y ...

  5. Laravel跳转回之前页面,并携带错误信息

    用Laravel5.1开发项目的时候,经常碰到需要携带错误信息到上一个页面,开发web后台的时候尤其强烈. 直接上: 方法一:跳转到指定路由,并携带错误信息 return redirect('/adm ...

  6. (四)mysql数据类型

    数据类型基本介绍 数值类型 整形类型:tinyint,int,bigint 浮点类型:float,double 字符串类型 char系列:char varchar text系列:text blob系列 ...

  7. python+selenium 组织用例方式 总结

    1.unittest.main() 将一个单元测试模块变为可直接运行的测试脚本,main()方法使用TestLoader类来搜索所有包含在该模块中以“test”命名开头的测试方法,并自动执行他们.执行 ...

  8. Jquery EasyUI选项卡-Tabs的使用方法

    以下是easyUI的tabs的简单实用介绍. var e =$('#main').tabs('exists','accordion'); if(e==true){  $('#main').tabs(' ...

  9. Codeforces Round #424 B. Keyboard Layouts(字符串,匹配,map)

    #include <stdio.h> #include <string.h> ][]; ]; ]; int main(){ scanf(]); scanf(]); scanf( ...

  10. openssl生成证书链多级证书

    操作系统CentOS6.6 注:windows版本的Openssl无法做这个实验,由于所有编译的window版本openssl没有对openssl目录重新定向,导致在windows下找不到pki目录 ...