juliet_lt 发表于 2019-8-19 13:36:12

MultiRow10.0J ctrl+c拷贝整个multirow内容,隐藏列不能拷贝,格式也不对

从MultiRow4.0J升级到MultiRow10.0J 1)
MultiRow10.0J :ctrl+c拷贝整个multirow内容,隐藏列(cell.width=0)不能拷贝
MultiRow4.0J :所以列,包含隐藏列都能拷贝
2)
能拷贝出来的内容中,格式也不对
MultiRow10.0J :网格线,背景色都没有了


MultiRow4.0J :网格线,背景色都在


Richard.Ma 发表于 2019-8-19 17:49:15

您好,这个问题还在帮您验证原因,需要一点时间,明天给您回复结果

Richard.Ma 发表于 2019-8-20 11:21:26

和产品同事确认了一下4.0版本和5.0以后的版本其实基本上是两个产品。并不兼容

5.0以后的版本没有这个拷贝功能,如果要使用这个功能的话,只能是用4.0的版本

juliet_lt 发表于 2019-8-20 13:37:06

10.0J的版本用ctrl+c可以实现拷贝功能的,这个我们并没有特别实装。但就是拷贝出来的内容有点差异

Richard.Ma 发表于 2019-8-20 17:58:24

确实是可以部分实现,我的意思只是说新版本并没有去专门做这个功能,因此目前产品的拷贝功能确实是存在一些问题的
下面的这个代码应该能解决一部分您的问题,如果需要的话可以参考

this.gcMultiRow.ClipboardOperating += (s, e) =>
            {
                var gcMultiRow = s as GcMultiRow;
                var dataObj = new DataObject();
                dataObj.SetData("backColor", gcMultiRow.CurrentCell.Style.BackColor);
                dataObj.SetData("value", gcMultiRow.CurrentCell.Value);
                Clipboard.SetDataObject(dataObj);
                e.Handled = true;
            };
            this.gcMultiRow1.ClipboardOperating += (s, e) =>
            {
                var gcMultiRow = s as GcMultiRow;
                var backColor = Clipboard.GetData("backColor") as Color?;
                gcMultiRow.CurrentCell.Style.BackColor = backColor.Value;
                var value = Clipboard.GetData("value");
                gcMultiRow.CurrentCell.Value = value;
                e.Handled = true;
            };

juliet_lt 发表于 2019-8-28 09:07:55

非常感谢你的回复:)

Richard.Ma 发表于 2019-8-28 22:53:11

不客气
页: [1]
查看完整版本: MultiRow10.0J ctrl+c拷贝整个multirow内容,隐藏列不能拷贝,格式也不对