找回密码
 立即注册

QQ登录

只需一步,快速开始

mhpsqyq

银牌会员

5

主题

15

帖子

3905

积分

银牌会员

积分
3905

活字格认证

mhpsqyq
银牌会员   /  发表于:2012-9-14 15:28  /   查看:5898  /  回复:5
怎么支持客户端的粘贴操作

5 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2012-9-14 19:05:00
沙发
回复 使用道具 举报
mhpsqyq
银牌会员   /  发表于:2012-9-15 14:04:00
板凳
有能支持拷贝行头了列头的设置么
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-9-17 16:15:00
地板
回复 3楼mhpsqyq的帖子

mhpsqyq 你好,
不好意思,目前没有拷贝行、列头的设置。
回复 使用道具 举报
mhpsqyq
银牌会员   /  发表于:2012-9-19 09:47:00
5#
  1.        function copydata() {
  2.            var spread1 = document.getElementById("<%=FpSpread1.ClientID %>");
  3.            var rg = spread1.GetSelectedRange();
  4.            if (rg.rowCount == 0 || rg.colCount == 0)
  5.                return;
  6.            // alert("selected " + rg.type + ", " + rg.row + ", " + rg.col + ", " + rg.rowCount + ", " + rg.colCount);
  7.            var cht = spread1.all("<%=FpSpread1.ClientID %>" + "_cht");
  8.            var rh = spread1.all("<%=FpSpread1.ClientID %>" + "_rh");
  9.            var sc = spread1.all("<%=FpSpread1.ClientID %>" + "_viewport");
  10.            var corn = spread1.all("<%=FpSpread1.ClientID %>" + "_ctl01");
  11.            var rs = rg.row;      //start row
  12.            var re = rg.row + rg.rowCount - 1;     //end row
  13.            var cs = rg.col;    //start col
  14.            var ce = rg.col + rg.colCount - 1;    //end col
  15.            var rowArray = new Array();  // 列数组
  16.            var rhc = rh.rows[0].cells.length;     //行头数
  17.            var chc = cht.rows.length;      //列头数
  18.            //按照行来填充数组
  19.            //step1 填充行头
  20.            for (r = 0; r < chc; r++) {
  21.                rowArray[r] = new Array();
  22.                for (c = 0; c < rhc + ce - cs + 1; c++) {
  23.                    if (c < rhc) {
  24.                        rowArray[r][c] = corn.rows[r].cells[c].innerText;        //填充corn
  25.                    }
  26.                    else {
  27.                        rowArray[r][c] = cht.rows[r].cells[cs + c - 1].innerText;   //填充行头
  28.                    }
  29.                }
  30.            }
  31.            //step2填充数据
  32.            for (r = chc; r < chc + re - rs + 1; r++) {
  33.                rowArray[r] = new Array();
  34.                for (c = 0; c < rhc + ce - cs + 1; c++) {
  35.                    if (c < rhc) {
  36.                        rowArray[r][c] = rh.rows[rs + r - chc].cells[c].innerText;  //填充列头
  37.                    }
  38.                    else {
  39.                        rowArray[r][c] = sc.rows[rs + r - chc].cells[c + cs - rhc].innerText;   //填充数据
  40.                    }
  41.                }
  42.            }
  43.            //输出
  44.            var result = "";
  45.            for (r = 0; r < rowArray.length; r++) {
  46.                for (c = 0; c < rowArray[r].length; c++) {
  47.                    result = result.concat(rowArray[r][c]);
  48.                    result = result.concat("\t");
  49.                }
  50.                result = result.concat("\r\n");
  51.            }
  52.            window.clipboardData.setData("Text", result);
  53.          //  return result;
  54.        }
复制代码
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-9-19 18:39:00
6#
回复 5楼mhpsqyq的帖子

感谢分享解决方法。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部