ctrl+v粘贴时,合并过的单元格被还原了(SJS-15315)
本帖最后由 Richard.Ma 于 2022-11-1 15:56 编辑首先我给所有sheet都配了只复制值:
sheet.options.clipBoardOptions = Spread.Sheets.ClipboardPasteOptions.values;
然后我开了两个网页a和b,都运行着spreadjs,a和b页面上的Sheet1都有个2x2的合并了的单元格,我在a页面上ctrl+c复制这个2x2的单元格,再粘贴到b页面上2x2的单元格,结果b页面上2x2的单元格解体了,变成了4个单元格,内容被复制到了左上角的单元格里……
这个是不是你们的bug?我要怎么样在复制后,让已合并的单元格保持不变?我只想复制值,不想复制其他的……
请问这里为什么设置sheet.options.clipBoardOptions = Spread.Sheets.ClipboardPasteOptions.values;
这样子的合并样式并不会带过去。您试着把这句话注释掉,看是不是 能复制过去一个合并后的单元格。 这个是产品设计就是这样,不是bug,在同一个sheet中你去复制粘贴到另一个区域,也会只粘贴值,合并单元格就被取消掉了
这个目前也和Excel的粘贴值行为保持了一致,你可以在Excel中试一下也是一样
回到你的需求,如果仍要单元格合并,那你不要设置这个option,这样合并单元格至少是有的
然后,如果你是不想要把原有单元格的背景色,字体等样式粘贴过来的话,可以在粘贴事件中再重新设置目标单元格的样式
https://demo.grapecity.com.cn/spreadjs/help/api/classes/GC.Spread.Sheets.Events#clipboardpasted
本帖最后由 cathy 于 2022-10-11 18:46 编辑
Ellia.Duan 发表于 2022-10-11 15:30
请问这里为什么设置sheet.options.clipBoardOptions = Spread.Sheets.ClipboardPasteOptions.values;
这 ...
因为我想只允许复制内容,就是把纯文本内容复制过来。
场景例如,这是给我客户填的一个表单,所有样式都事先定好了,不允许增删行列、合并单元格之类的操作。我把整个sheet设了protect,并且只解锁了部分cell允许纯文本编辑,即使复制也只允许粘贴values。就是客户不允许改变sheet的布局,只允许修改部分单元格的内容。
现在我的表格里有一个merged cell,但是我不想让客户改变merged状态。并且我只允许复制值,为什么会影响它是不是merged这个状态呢?
现在问题是,客户在填写过程中,他开了另一个表单,想要把一样的内容复制过来,填进去。他的复制源正好是一个merged cell,然后他一复制过来,这边merged cell就变了………………
本帖最后由 cathy 于 2022-10-11 18:48 编辑
Richard.Ma 发表于 2022-10-11 15:31
这个是产品设计就是这样,不是bug,在同一个sheet中你去复制粘贴到另一个区域,也会只粘贴值,合并单元格就 ...
这是什么奇特的行为……
我就是想在paste之后保持merged cell们的状态不变,不论复制源是什么。
如果我不设ClipboardPasteOptions.values,那假如客户复制一组未合并的2x2的cells过来,我的merged cell不还是会被改变掉吗?
那我还要记录本来的merged cell的状态再去还原它?
就想说已经设了只允许粘贴values了,为何客户用的时候还能改变我做的这个sheet的merged cells的状态……流泪……
明白你的需求了,产品目前的这个功能需要和研发确认一下,然后给你回复,帖子暂时保留处理 Richard.Ma 发表于 2022-10-11 18:45
明白你的需求了,产品目前的这个功能需要和研发确认一下,然后给你回复,帖子暂时保留处理
好的,感谢~
希望能有个无论如何粘贴,都保持merged状态不变的选项:loveliness: 本帖最后由 Richard.Ma 于 2022-11-1 15:56 编辑
明白,问题已经提供给研发SJS-15315 你好,此问题已经作为bug在v15.2.5修复,请升级版本验证 Richard.Ma 发表于 2022-11-21 13:02
你好,此问题已经作为bug在v15.2.5修复,请升级版本验证
OK,收到。
页:
[1]
2