找回密码
 立即注册

QQ登录

只需一步,快速开始

hjkl

初级会员

31

主题

77

帖子

390

积分

初级会员

积分
390
hjkl
初级会员   /  发表于:2021-3-23 13:46  /   查看:3591  /  回复:6
1金币
本帖最后由 hjkl 于 2021-3-23 13:48 编辑

比如用户选择了这9格进行拖拽,  在回调事件中如何获得这个矩行范围呢?
image.png568657531.png
用户拖拽后 , 系统如何得知这个范围呢

image.png822169799.png


最佳答案

查看完整内容

您好,拖拽填充单元格时通过监听 DragFillBlockCompleted 事件,只能获取到填充区域 fillRange,无法获取 初始选择区域。 不过,您可以监听 DragFillBlock 事件,在执行拖拽操作时,使用 getSelections() 获取当前选择的单元格信息,以实现需求。 示例代码:

6 个回复

正序浏览
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-3-29 09:43:15
7#
参考以下代码:
  1. //选中这两格右拉==>没有生效
  2.        
  3.             sheet.fillAuto(
  4.                         new GC.Spread.Sheets.Range(3, 3, 1, 2),
  5.                         new GC.Spread.Sheets.Range(3, 3, 1, 4),
  6.                         {fillType:4,series:1}
  7.         );
复制代码
image.png194114379.png
回复 使用道具 举报
hjkl
初级会员   /  发表于:2021-3-27 13:35:38
6#
这是demo

demo.rar

798 Bytes, 下载次数: 81

回复 使用道具 举报
hjkl
初级会员   /  发表于:2021-3-27 13:12:57
5#
本帖最后由 hjkl 于 2021-3-27 13:37 编辑
lynn512 发表于 2021-3-24 10:16
这边在 在线表格编辑器(V14.0.9) 测试是正常的,可能是因为您未设置series的原因,您参考下以下代码:
v ...
你好  ,  我是要选中两格 (多格) 右拉  ,不是选中一格
手工选择两格右拉达到下面效果

image.png409105834.png

然后用代码实现    ==> 选中两格右拉  结果没有生效.

image.png888546447.png


demo.rar

798 Bytes, 下载次数: 79

demo.html

回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-3-24 10:16:07
4#
这边在 在线表格编辑器(V14.0.9) 测试是正常的,可能是因为您未设置series的原因,您参考下以下代码:
var start = new GC.Spread.Sheets.Range(1,1,1,2);
var range = new GC.Spread.Sheets.Range(1,1,1,4);
sheet.fillAuto(start, range, {fillType:1, series: 1, direction: 1})

image.png296594847.png

API链接:
https://demo.grapecity.com.cn/sp ... sheet.html#fillAuto
https://demo.grapecity.com.cn/sp ... ll.html#.FillSeries
回复 使用道具 举报
hjkl
初级会员   /  发表于:2021-3-23 18:15:59
3#
本帖最后由 hjkl 于 2021-3-23 18:22 编辑

您好,
根据DragFillBlockCompleted回调
=>得到用户操作是增长填充,方向向右     => 将 {autoFillType: 1,fillDirection: 1}保存到数据库
image.png964077453.png

后续使用 AutoFill (fillType:1,direction:1) 还原用户操作过程  =>选中2格 增长填充  向右   =>然而不无效
image.png747182616.png

回复 使用道具 举报
最佳答案
最佳答案
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-3-23 13:46:57
来自 2#
您好,拖拽填充单元格时通过监听 DragFillBlockCompleted 事件,只能获取到填充区域 fillRange,无法获取 初始选择区域。
不过,您可以监听 DragFillBlock 事件,在执行拖拽操作时,使用 getSelections() 获取当前选择的单元格信息,以实现需求。
示例代码:
  1. sheet.bind(GC.Spread.Sheets.Events.DragFillBlock, function (e, info) {
  2.         var range = sheet.getSelections()[0]
  3.         console.log(range);
  4.         console.log(info);
  5. });
复制代码


image.png376597289.png




回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部