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

QQ登录

只需一步,快速开始

大Vi

高级会员

197

主题

436

帖子

1397

积分

高级会员

积分
1397
大Vi
高级会员   /  发表于:2025-4-28 16:12  /   查看:141  /  回复:9
1金币
image.png97887877.png 没有下拉选项的能不能再里面放个纯文本(不能选中),而不是空白块呢? image.png677301330.png
image.png222060851.png

最佳答案

查看完整内容

理解您想要的效果是比如dropDown的item是{text: 'item1', value: 1},选中item1时单元格显示item1,通过Worksheet:getValue()时获得item对应的value值1。 如果是这样的话,dropdown不支持ComboBox这种行为。可以在代码上下文中记录原本dropdown的text和value映射关系,然后将dropdown的text和value设置为相同内容,在Wotksheet:getValue()时对设置了dropdown的单元格将单元格中的数据映射为对应值。 或者使用ComboBox单元 ...

9 个回复

倒序浏览
最佳答案
最佳答案
Wilson.Zhang
超级版主   /  发表于:2025-4-28 16:12:23
来自 8#
本帖最后由 Wilson.Zhang 于 2025-4-30 13:56 编辑
大Vi 发表于 2025-4-30 08:50
我说的不是下拉列表中的显示,我的意思是要那个单元格name值是3,但是单元格显示的是item3

理解您想要的效果是比如dropDown的item是{text: 'item1', value: 1},选中item1时单元格显示item1,通过Worksheet:getValue()时获得item对应的value值1。

如果是这样的话,dropdown不支持ComboBox这种行为。可以在代码上下文中记录原本dropdown的text和value映射关系,然后将dropdown的text和value设置为相同内容,在Wotksheet:getValue()时对设置了dropdown的单元格将单元格中的数据映射为对应值。

或者使用ComboBox单元格,在没有选项时在下拉列表中设置默认提示选项,不予选中。
另外,点击ComboBox的下拉图标时会触发ComboBox:activateEditor()方法,可以在此判断ComboBox:items()的结果数组长度如果为0,就表示没有选项,可以对下拉框DOM元素设置display属性值为none以不显示。

由于dropdown下拉框的display是动态的,点击后切换置反设置,所以需要监听变化过程,如下图所示代码:
1745992215710.png138674620.png

如下动图所示,对单元格B2和C3分别设置了有选项和无选项的ComboBox单元格,B2单元格ComboBox可显示下拉框,而C3单元格ComboBox不显示下拉框:
ComboBox不显示下拉框.gif

这并不是官方文档中公开的设置方法,是针对于您的问题和需求,我测试形成的方案,需要您详细测试确保不影响工程后再决定是否使用。
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2025-4-28 17:47:53
2#
您好!按照您的思路,可以在下拉列表中设置一个默认选项,用于在没有正式选项时显示,可以将默认选项作为提示信息。关于禁止选中默认选项,可以参考您之前发布的另一个帖子中给您提供的解决思路:
https://gcdn.grapecity.com.cn/showtopic-236418-1-1.html

另外,如果您不局限于下拉列表的类型,那么可以使用Style的dropDowns和cellButtons实现下拉列表,这种下拉列表在没有选项时不显示下拉框,仅在有选项时显示下拉框。可以参考官网教程了解详情:
列表
回复 使用道具 举报
大Vi
高级会员   /  发表于:2025-4-29 09:23:38
3#
本帖最后由 大Vi 于 2025-4-29 09:29 编辑
Wilson.Zhang 发表于 2025-4-28 17:47
您好!按照您的思路,可以在下拉列表中设置一个默认选项,用于在没有正式选项时显示,可以将默认选项作为提 ...

1、列表必须text和value一样,我希望单元格展示的是text,而列绑定的字段是value的值
2、请问这个代码有什么用啊?我感觉不加也没影响
  1. spread.commandManager().execute({cmd:"openList",row:3,col:4,sheetName:"Sheet1"});
复制代码

回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2025-4-29 15:19:36
4#
大Vi 发表于 2025-4-29 09:23
1、列表必须text和value一样,我希望单元格展示的是text,而列绑定的字段是value的值
2、请问这个代码有 ...

问题1. dropDowns也支持设置选项的text和value,在下拉列表中显示text,选中选项后填充对应的value至单元格,如下动图所示:
dropDowns.gif

您提到的“列绑定”是指使用了数据绑定吗?

问题2:这行代码用以显示dropDowns中的下拉选项,如下动图所示:
openList.gif

回复 使用道具 举报
大Vi
高级会员   /  发表于:2025-4-29 15:33:28
5#
本帖最后由 大Vi 于 2025-4-29 15:36 编辑
Wilson.Zhang 发表于 2025-4-29 15:19
问题1. dropDowns也支持设置选项的text和value,在下拉列表中显示text,选中选项后填充对应的value至单元 ...


[
                    {
                        text: 'item1',
                        value: '1'
                    },
                    {
                        text: 'item2',
                        value: '2'
                    },
                    {
                        text: 'item3',
                        value: '3'
                    },
                    {
                        text: 'item4',
                        value: '4'
                    }
                ]
列绑定是数据绑定, 比如option设置成上面那样,这个数据绑定列字段是name,
然后选中选项后,我希望的效果是name这个字段值是“1”,但是单元格填充显示的是“item1”,就像ComboBox那样,你现在是把“1”填充到单元格了,不是我想要的


回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2025-4-29 17:45:10
6#
大Vi 发表于 2025-4-29 15:33
[
                    {
                        text: 'item1',

在官网教程的demo中,先改造了B4单元格中dropDowns的option items,比如text为”item1“,value为1,如下图所示:
items.png418924865.png

模拟绑定数据源,按照您说的字段为name,设置name值为3,如下图所示:
数据绑定.png310522765.png

运行demo,可以看到B3单元格中填充的数据是绑定的数据3,而且下拉列表中选中的选项是value为3时对应的text值item3,如下动图所示: dropDowns数据绑定.gif
回复 使用道具 举报
大Vi
高级会员   /  发表于:2025-4-30 08:50:56
7#
Wilson.Zhang 发表于 2025-4-29 17:45
在官网教程的demo中,先改造了B4单元格中dropDowns的option items,比如text为”item1“,value为1,如下 ...

我说的不是下拉列表中的显示,我的意思是要那个单元格name值是3,但是单元格显示的是item3
回复 使用道具 举报
大Vi
高级会员   /  发表于:2025-4-30 14:03:34
9#
Wilson.Zhang 发表于 2025-4-30 13:54
理解您想要的效果是比如dropDown的item是{text: 'item1', value: 1},选中item1时单元格显示item1,通过W ...

好的,谢谢
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2025-4-30 16:59:04
10#

不客气。如遇新问题,欢迎发新帖沟通。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部