找回密码
 立即注册

QQ登录

只需一步,快速开始

我想吃麻薯
初级会员   /  发表于:2023-8-28 17:37  /   查看:2665  /  回复:11
表格一个正常表格,列id分别是1,2,3... , 然后删除了id为1的列,
然后在自动增列时, image.png948669128.png
这个列的id会补全前端缺失的id,这个新列的id就为1了


请问要怎么避免这个问题呢,我想让它往后面增加id,而不是补全之前删除的

11 个回复

倒序浏览
Banana
注册会员   /  发表于:2023-8-29 08:46:12
沙发
使用下面的代码禁用表格自动扩展来解决问题:
  1. table.allowAutoExpand(false)
复制代码


回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-8-29 09:05:34
板凳
你说的id只得是列名把,例如column1,column2这种,删除column1后,在后面新自动添加的列名仍然会是column1。这个是默认的设计规则,跟Excel的行为保持一致。
这块列名也是可以手动更改的,可以通过列头双击手动进行更改。
回复 使用道具 举报
我想吃麻薯
初级会员   /  发表于:2023-8-29 09:12:38
地板
Clark.Pan 发表于 2023-8-29 09:05
你说的id只得是列名把,例如column1,column2这种,删除column1后,在后面新自动添加的列名仍然会是column1 ...

不是的,你说的column 1, column 2是列的name,我说的是列的id ,通常是数字1,2,3
回复 使用道具 举报
我想吃麻薯
初级会员   /  发表于:2023-8-29 14:46:18
5#
Banana 发表于 2023-8-29 08:46
使用下面的代码禁用表格自动扩展来解决问题:

这个功能我还是需要的
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2023-8-29 17:29:41
6#
我想吃麻薯 发表于 2023-8-29 09:12
不是的,你说的column 1, column 2是列的name,我说的是列的id ,通常是数字1,2,3

您好,您在您问题中贴出的图中I2单元格输入内容后,自动增列。那么此时您是怎么知道此时第I列的id是此前删除列的id呢?或者说您是怎么获取列id的?
回复 使用道具 举报
我想吃麻薯
初级会员   /  发表于:2023-8-29 17:34:37
7#
Ellia.Duan 发表于 2023-8-29 17:29
您好,您在您问题中贴出的图中I2单元格输入内容后,自动增列。那么此时您是怎么知道此时第I列的id是此前 ...

table.toJSON().columns
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2023-8-29 17:55:08
8#

您好,通过您的代码确实复现了这个问题
image.png521314696.png
此时id为1是自动生成的,请问您这边需要通过id做什么事情呢?在什么场景下用到了id ?这边帮您看下是否有其他方式可以解决?
image.png377201537.png
回复 使用道具 举报
我想吃麻薯
初级会员   /  发表于:2023-8-31 15:34:59
9#
Ellia.Duan 发表于 2023-8-29 17:55
您好,通过您的代码确实复现了这个问题

此时id为1是自动生成的,请问您这边需要通过id做什么事情呢? ...

你好,我们现在在做一个表格变动检查的功能,检查增列,删列,列名称变动的检查,是通过id来做的
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2023-8-31 16:11:04
10#
我想吃麻薯 发表于 2023-8-31 15:34
你好,我们现在在做一个表格变动检查的功能,检查增列,删列,列名称变动的检查,是通过id来做的

您好,关于增加列,删除列可以在TableColumnsChanged事件中监听。
关于列名称变化,可以在ValueChanged事件中监听,再此事件中,可以判断发生变化的单元格是否是table列,如果是的话,则可以监听到列名变化
关于判断是否是列名的判断,可以先通过table.range()获取表格区域,继而获取到表头区域。


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