spreadjs 如何为单元格设置唯一值
想实现的效果:给单元格添加唯一标识,该标识与该单元格绑定,即使单元格位置移动标识不变,也可以直接通过该标识查到该单元格。实现方式:
1. 通过setTag实现,但是查询的时候只能遍历单元格获取tag,然后进行对比,感觉手动遍历的方式不太好。
2. 通过addCustomName实现,虽然可以直接通过设置的名称查到行列数据,但是该方法其实是与位置关系绑定的,如果单元格移动,获取的数据其实还是addCustomName时的行列数据。
备注:spreajds内置有单元格唯一标识吗?或者还有其他方式能够实现我想要的效果吗
您好!通过addCustomName为单元格设置名称后,通过NameInfo:getExpression()即可获取单元格的位置信息,即便由于添加删除行列导致单元格位置移动,也将同步更新。
本帖最后由 helloworldplus 于 2024-11-16 21:32 编辑
Wilson.Zhang 发表于 2024-11-15 17:23
您好!通过addCustomName为单元格设置名称后,通过NameInfo:getExpression()即可获取单元格的位置信息,即 ...
您好,我代码中通过addCustomName设置名称后,再通过getExpression获取到的数据不一样,但是按照gif中通过菜单设置后获取到的数据是一致的;我想通过desginer的DefineName内置命令实现,但是运行命令后直接打开了设置弹窗,我想直接通过代码设置而不打开弹窗,但是不知道如何传递参数,有相关案例吗 helloworldplus 发表于 2024-11-16 21:28
您好,我代码中通过addCustomName设置名称后,再通过getExpression获取到的数据不一样,但是按照gif中通 ...
已找到问题所在,谢谢 helloworldplus 发表于 2024-11-16 22:09
已找到问题所在,谢谢
解决了就好!相信您现在应该也了解DefineName的使用了,该命令能够触发设置对话框。如果您需要通过命令对单元格设置名称,那应该通过addOrSetCustomName命令,您可以通过如下命令监听通过UI触发的操作,以了解相关命令的使用参数:
spread.commandManager().addListener('-', function(args) {
console.log('commandManager, args: ', args);
});
那就结帖了。如有新问题,欢迎发新帖沟通。
{:5_110:}
页:
[1]