jQuery MiniUI

 找回密码
 立即注册
查看: 3581|回复: 12
打印 上一主题 下一主题

从列的单位去控制复制粘贴 [复制链接]

Rank: 1

跳转到指定楼层
楼主
发表于 2019-4-10 15:32:00 |只看该作者 |倒序浏览
,我们已经实现整个datagrid的复制粘贴,我们现在的痛点是:客户要求做到datagird的部分可复制粘贴,意思就是datagrid的部分列是不容许改,包括双击单元格不可复制和不可复制粘贴,恳请各位大佬解惑。

附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册

Rank: 8Rank: 8

沙发
发表于 2019-4-10 18:01:20 |只看该作者
本帖最后由 dforce 于 2019-4-10 18:03 编辑

不允许修改的列加readOnly="true"
copyexcel.js修改
  1. function setRowValues(row, columnIndex, values) {
  2.                 var valMap = {};
  3.                 for (var i = 0, l = values.length; i < l; i++) {
  4.                     var column = columns[columnIndex + i];
  5.                     if (!column) continue;
  6.                     if (column.readOnly) continue;      //多加一下这行判断
  7.                     var value = values[i];
  8.                     if (value[0] == '"' && value[value.length - 1] == '"') {
  9.                         value = value.substring(1, value.length - 1);
  10.                         value = value.replace("\"\"", "\"");
  11.                     }


  12.                     valMap[column.field] = value;
  13.                 }
  14.                 grid.updateRow(row, valMap);
  15.             }

  16. function getValueArrayFromGrid(grid) {
  17.         var range = me.cellRange;
  18.         var array = [];

  19.         if (range) {
  20.             var columns = grid.getVisibleColumns();

  21.             for (var i = range.startRow, l = range.endRow; i <= l; i++) {
  22.                 var textArray = [];
  23.                 array.push(textArray);

  24.                 var row = grid.getAt(i);
  25.                 for (var j = range.startCol, k = range.endCol; j <= k; j++) {
  26.                     var column = columns[j];
  27.                     if (column.readOnly) continue;            //这里添加
  28.                     var val = row[column.field];
  29.                     if (mini.isNull(val)) val = "";
  30.                     textArray.push(val);
  31.                 }
  32.             }
  33.         }

  34.         return array;
  35.     }
复制代码

Rank: 1

板凳
发表于 2019-4-11 14:12:54 |只看该作者
谢谢版主的指点

Rank: 1

地板
发表于 2019-4-11 15:37:52 |只看该作者
MINIUI最新的与之前的版本不兼容,但是项目有很多地方用了之前的版本,不知有什么好的方法替换之前的版本

Rank: 8Rank: 8

5#
发表于 2019-4-11 16:36:49 |只看该作者
xu747809815 发表于 2019-4-11 15:37
MINIUI最新的与之前的版本不兼容,但是项目有很多地方用了之前的版本,不知有什么好的方法替换之前的版本 ...

大版本内是兼容的,替换不会有太多问题,除非你的旧版本太老了。

Rank: 1

6#
发表于 2019-4-11 16:48:44 |只看该作者
如果要替换旧的版本,该怎么替换,

Rank: 8Rank: 8

7#
发表于 2019-4-11 16:54:03 |只看该作者
xu747809815 发表于 2019-4-11 16:48
如果要替换旧的版本,该怎么替换,

你们用的是什么版本

Rank: 1

8#
发表于 2019-4-11 17:07:06 |只看该作者
dforce 发表于 2019-4-11 16:54
你们用的是什么版本

怎么区分是哪个版本的,有什么关键标识吗?

Rank: 8Rank: 8

9#
发表于 2019-4-11 17:10:50 |只看该作者
xu747809815 发表于 2019-4-11 17:07
怎么区分是哪个版本的,有什么关键标识吗?

miniui.js头部

Rank: 1

10#
发表于 2019-4-11 17:53:13 |只看该作者
有没有什么办法怎么找出新版的CopyExcel的js,我只想要新版的CopyExcel功能,其他的js会影响旧版的js,求大佬指点

Archiver|普加软件

GMT+8, 2024-7-6 00:19 , Processed in 1.033236 second(s), 11 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部