请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

18577074114

中级会员

71

主题

296

帖子

913

积分

中级会员

积分
913

Wyn认证

18577074114
中级会员   /  发表于:2025-1-9 11:26  /   查看:196  /  回复:12
1金币
目前的需求是,用户点击比如C列单元格的下拉箭头时,可展现多列表格明细供选择,选择后,C列显示名称,D列联动显示该名称对应的金额。
可是根据教程https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=81481
选择多列下拉中的某一项时,某项多列的所有数据都显示到了一个单元格里。
153732yn656u3e11eqx8qw.gif
请问应当如何实现需求想要的形式?谢谢!

最佳答案

查看完整内容

我来帮您梳理一下这块的逻辑: 您目前是在G7下拉选择数据,选择后G7的值实际上是一个json,类似于: 默认情况下G7此时会显示[object Object],但是我看到您代码中写了: 这一点非常正确,所以此时G7有了自定义格式,它可以正常显示这个json的标准名称“强震计”了。 您H7单元格用公式的方式直接引用了G7单元格,因此它的值也是json,但由于您没有给H7设定类似的formatter,所以H7仍然显示[object Object],您现在要做的就 ...

12 个回复

倒序浏览
最佳答案
最佳答案
Matthew.Xue
超级版主   /  发表于:2025-1-9 11:26:28
来自 8#
我来帮您梳理一下这块的逻辑:
您目前是在G7下拉选择数据,选择后G7的值实际上是一个json,类似于:
  1. {"标准名称": "强震计", "标准值":  1122}
复制代码

默认情况下G7此时会显示[object Object],但是我看到您代码中写了:
  1. style.formatter = 'PROPERTY(@, "标准名称")'
复制代码

这一点非常正确,所以此时G7有了自定义格式,它可以正常显示这个json的标准名称“强震计”了。
您H7单元格用公式的方式直接引用了G7单元格,因此它的值也是json,但由于您没有给H7设定类似的formatter,所以H7仍然显示[object Object],您现在要做的就是给H7也添加类似的style:
  1. style.formatter = 'PROPERTY(@, "标准值")'
复制代码

未来您可能会遇到的问题:考虑到第7行属于一个表格,猜测G列可能都是类似G7的下拉框,H列亦是直接引用左边的单元格的值,所以您需要在恰当的时机给这个表格所在的G列和H列都设定和第7行一样的formatter,具体做法就是使用table.range()方法拿到table的范围,然后遍历循环去设定style的formatter。后续如果可能会添加行,则还需要监听table行变动的事件,在添加的行去做同样的事情。

相关的api:
setFormatter
table.range
TableRowChanged
回复 使用道具 举报
Matthew.Xue
超级版主   /  发表于:2025-1-9 15:05:06
2#
您好,关于这个问题,可以查看一下这篇文章:

自定义格式的进阶使用方法

这边也帮您做了一个小例子,可以参考~
具体的思路就是利用自定义格式的“@.key”的方式来获取这种json字段的某一个值。针对您提到的想选择了之后,给两列赋不同的值,在demo中也有体现,是通过公式引用+单元格格式实现的,可以查看A1和B1的单元格格式来查看~

多列选择.sjs

3.7 KB, 下载次数: 5

回复 使用道具 举报
18577074114
中级会员   /  发表于:2025-1-9 15:07:19
3#
Matthew.Xue 发表于 2025-1-9 15:05
您好,关于这个问题,可以查看一下这篇文章:

自定义格式的进阶使用方法

好的 我学习一下 谢谢您!
回复 使用道具 举报
Matthew.Xue
超级版主   /  发表于:2025-1-10 08:53:09
4#
您好,请问您的疑问是否已经解决了呢,如果解决了的话,这边就结贴啦
回复 使用道具 举报
18577074114
中级会员   /  发表于:2025-1-10 11:49:13
5#
Matthew.Xue 发表于 2025-1-9 15:05
您好,关于这个问题,可以查看一下这篇文章:

自定义格式的进阶使用方法

您好 问题暂未解决 昨天发的sjs文件我这边打开时乱码 可否发js或html格式的?
回复 使用道具 举报
Matthew.Xue
超级版主   /  发表于:2025-1-10 12:03:27
6#
18577074114 发表于 2025-1-10 11:49
您好 问题暂未解决 昨天发的sjs文件我这边打开时乱码 可否发js或html格式的?

您好,sjs格式是我们v16版本新推出的文件格式,可以使用spread.open方法打开。
您也可以直接从我们的官方测试地址测试我之前上传的sjs文件,打开链接后,点击左上角的“文件”-“打开”-“打开SJS文件”,选择sjs文件后就可以导入测试了。


回复 使用道具 举报
18577074114
中级会员   /  发表于:2025-1-10 15:19:02
7#
Matthew.Xue 发表于 2025-1-10 12:03
您好,sjs格式是我们v16版本新推出的文件格式,可以使用spread.open方法打开。
您也可以直接从我们的官 ...

您好 截图给您说一下清晰一些:

6b225f0e3a45730fbcc3fe64f20da20.png31390379.png 在标准名称所在的列点击下拉,出现多列下拉选择框,任意选择某一行后,名称列取到名称,金额列取到数值

6db25bd26325f931191c9c51cfea6e1.png536058349.png 目前暂时还未实现,麻烦您帮看下代码是哪里不对,谢谢!
6f9f5d06357d5c9cb8f8f7a979ee09f.png233934325.png
回复 使用道具 举报
Matthew.Xue
超级版主   /  发表于:2025-1-13 08:47:31
9#
您好,请问您的疑问是否已经解决了呢,如果解决了的话,这边就结贴啦
回复 使用道具 举报
18577074114
中级会员   /  发表于:2025-1-13 18:33:38
10#
Matthew.Xue 发表于 2025-1-13 08:47
您好,请问您的疑问是否已经解决了呢,如果解决了的话,这边就结贴啦

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