找回密码
 立即注册

QQ登录

只需一步,快速开始

artman5545

中级会员

31

主题

93

帖子

901

积分

中级会员

积分
901
artman5545
中级会员   /  发表于:2018-9-30 14:57  /   查看:2676  /  回复:5
本帖最后由 artman5545 于 2018-9-30 15:02 编辑

Video_2018-09-30_145506.gif
并且我发现只拖动一个单元格进行填充得时候不会把list验证也填充到其他单元格,只有多个单元格这么拖动才会这样

5 个回复

倒序浏览
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-9-30 15:13:35
沙发
您好,只需要在初始化spread后配置一句:

spread.options.defaultDragFillType = GC.Spread.Sheets.Fill.AutoFillType.fillWithoutFormatting;

如果想恢复默认拖拽填充行为,可以改为:

spread.options.defaultDragFillType = GC.Spread.Sheets.Fill.AutoFillType.auto;
回复 使用道具 举报
artman5545
中级会员   /  发表于:2018-10-8 09:14:39
板凳
KevinChen 发表于 2018-9-30 15:13
您好,只需要在初始化spread后配置一句:

spread.options.defaultDragFillType = GC.Spread.Sheets.Fill ...

加了的,只有单行有效,多行就不行了 Video_2018-10-08_091136.gif
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-10-8 11:28:24
地板
您好,经过测试重现以及与研发部门沟通,确认这个问题确实是SpreadJS的一个bug。

在MicroSoft Office Excel中,拖拽填充时无论选中的是单行还是多行,都会将validator带入新的单元格中。

所以bug修复后,该行为会与Excel保持一致。

对于您的问题,我这边写了一个Demo,在事件中处理了带入validator的问题,您可以参考附件demo中的方法解决您的问题。

DragFillTypes.html

3.08 KB, 下载次数: 64

回复 使用道具 举报
artman5545
中级会员   /  发表于:2018-10-8 11:55:02
5#
KevinChen 发表于 2018-10-8 11:28
您好,经过测试重现以及与研发部门沟通,确认这个问题确实是SpreadJS的一个bug。

在MicroSoft Office Ex ...

谢谢回复,考虑到在列表中更多的场景是列的样式通常一致,是否能够控制拖动填充的方向只能往下拖动,不允许横向拖动?
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-10-8 12:09:11
6#
可以,一个事件即可解决:

  1. sheet.bind(GC.Spread.Sheets.Events.DragFillBlock, function (s, e) {
  2.             // 拿到拖拽的方向,左0右1上2下3
  3.             var dir = e.fillDirection;
  4.             if(dir !== 3){
  5.                 //不是向下的方向时,取消此次操作。
  6.                 e.cancel = true;
  7.             }
  8.         });
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部