spreadjs666 发表于 2023-9-1 18:00:10

【v16】选中整行时activeCell会变为当前视图第一行/列单元格

【v16】选中整列时activeCell会变为当前视图第一行单元格,如何在不更改【整行选区】的情况下,修改activeCell为当前列第一个单元格?

Richard.Huang 发表于 2023-9-1 18:07:16

您好,是否可以详细描述一下您的需求,选中当前列,激活单元格为第一个不满足您的需求吗?:loveliness:

spreadjs666 发表于 2023-9-1 20:36:44

Richard.Huang 发表于 2023-9-1 18:07
您好,是否可以详细描述一下您的需求,选中当前列,激活单元格为第一个不满足您的需求吗?

你好,我这里的期望是选中一整列时,激活单元格为当前列第一个单元格,例如:选中B列,激活单元格为B1。但是实际情况是:选中B列,激活单元格为--当前视图范围内的最上面的单元格。

Richard.Huang 发表于 2023-9-4 10:11:22

spreadjs666 发表于 2023-9-1 20:36
你好,我这里的期望是选中一整列时,激活单元格为当前列第一个单元格,例如:选中B列,激活单元格为B1。 ...

我理解您的意思了,选中一行进行编辑就直接编辑最顶上的单元格,这样视图也应该滚动到最上面,不然最顶上的B1单元格被编辑了用户看不到会以为编辑失败了。我想知道为什么您会有这样的需求呢,因为即使是Excel,也是编辑视图中的第一个单元格的

spreadjs666 发表于 2023-9-4 14:20:31

Richard.Huang 发表于 2023-9-4 10:11
我理解您的意思了,选中一行进行编辑就直接编辑最顶上的单元格,这样视图也应该滚动到最上面,不然最顶上 ...
因为我们在做移动端编辑,键盘落值是自己写的,当用户选中整列的时候希望视野滚动到最顶上,键盘落值也直接落到最顶上,这样用户比较容易理解,逻辑也比较统一。如果聚焦的是视野范围内最顶上的单元格,当用户调起键盘,我们会将活动单元格滚动到视野中心,此时对于用户来说可能并不是用户自己预期的操作单元格,并且展示上不太好解释。

Richard.Huang 发表于 2023-9-4 17:07:11

spreadjs666 发表于 2023-9-4 14:20
因为我们在做移动端编辑,键盘落值是自己写的,当用户选中整列的时候希望视野滚动到最顶上,键盘落值也直 ...

我了解您的需求了,您可以通过监听CellClick事件来实现您的需求:
sheet.bind(GC.Spread.Sheets.Events.CellClick, function (e, info) {
    if (info.sheetArea === GC.Spread.Sheets.SheetArea.colHeader) {// 如果是列头
      sheet.showRow(0, GC.Spread.Sheets.VerticalPosition.top);;// 滚动到最前端
      sheet.setActiveCell(0, info.col);// 激活单元格
      sheet.setSelection(0, info.col, sheet.getRowCount(), 1);// 重新选中整列
    }
});

spreadjs666 发表于 2023-9-5 14:54:22

Richard.Huang 发表于 2023-9-4 17:07
我了解您的需求了,您可以通过监听CellClick事件来实现您的需求:
sheet.bind(GC.Spread.Sheets.Events. ...

你好,根据给的方案试了下,发现选中多列的时候,松手会变成一列

Richard.Huang 发表于 2023-9-5 17:17:53

spreadjs666 发表于 2023-9-5 14:54
你好,根据给的方案试了下,发现选中多列的时候,松手会变成一列

您好,经过调研,我们发现目前没有很好的方法能够支持您的需求,我们的设计和Excel是保持一致的,楼上给您提供的方案存在弊端,就是您所说的多选时导致的问题

Joestar.Xu 发表于 2023-10-18 15:16:19

您好,请问您的问题是否已经解决,如果仍未解决,欢迎继续回帖,我们来协助调研。

spreadjs666 发表于 2023-10-18 15:19:27

Joestar.Xu 发表于 2023-10-18 15:16
您好,请问您的问题是否已经解决,如果仍未解决,欢迎继续回帖,我们来协助调研。

你好,这个问题尚未解决,上方给出的方案有问题
页: [1] 2
查看完整版本: 【v16】选中整行时activeCell会变为当前视图第一行/列单元格