找回密码
 立即注册

QQ登录

只需一步,快速开始

qwedcxzas

金牌服务用户

49

主题

168

帖子

511

积分

金牌服务用户

积分
511

[已处理] 下拉框添加选项

qwedcxzas
金牌服务用户   /  发表于:2023-8-21 20:23  /   查看:835  /  回复:5
本帖最后由 Joestar.Xu 于 2023-8-23 08:50 编辑

下拉框有木有 点击这个图标时的事件,然后 动态的添加选项 image.png542584228.png

5 个回复

倒序浏览
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2023-8-22 09:37:02
沙发
您好,可以参考如下代码

  1.         const combo = new spreadNS.CellTypes.ComboBox();
  2.         combo
  3.             .editorValueType(spreadNS.CellTypes.EditorValueType.text);
  4.         sheet.setValue(0, 3, "Result:");
  5.         sheet.getCell(1, 2, spreadNS.SheetArea.viewport).cellType(combo);



  6.         sheet.bind(GC.Spread.Sheets.Events.EditStarting, function (sender, args) {
  7.             const {row, col} = args;

  8.             if (row == 1 && col == 2) {
  9.                 combo.items([{text: 1, value: 1,},{text: 2, value: 2,}]);
  10.                
  11.             }
  12.         });
复制代码
效果如下:
image.png753104247.png
回复 使用道具 举报
qwedcxzas
金牌服务用户   /  发表于:2023-8-22 18:26:48
板凳
本帖最后由 qwedcxzas 于 2023-8-22 18:54 编辑

好的,谢谢啦.我有另一个问题请教;就是如果 有很多单元格 需要  这样的下拉框 TGDL9VV@8`UVR6M3O~$V19P.png655216064.png 像这样 ,选择文本 ,后台可以获取 编号;所有单元格 使用同一套数据 。有什么方法可以实现呢
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2023-8-23 09:16:48
地板
本帖最后由 Ellia.Duan 于 2023-8-23 09:21 编辑

通过您的描述,您是否有两个问题:
1、下拉框内容显示文本内容,但是用户选择后,后台获取文本对应的编号?
关于此问题,您可以参考这篇学习指南:
https://demo.grapecity.com.cn/sp ... pes/combobox/purejs
在简介中,可以看到editorValueType 方法的应用
image.png87585448.png
此方法可以帮您设置写入底层逻辑的值
2、所有单元格使用同一套数据?
这个问题不太明白您的需求,是否可以再详细描述下?
下面的代码是combo填充数据的相关代码
  1. combo.items([
  2.      { text: 'Oranges', value: '11k' },
  3.      { text: 'Apples', value: '15k' },
  4.      { text: 'Grape', value: '100k' }]);
复制代码

所以您可以预先定义下拉框数据array ,然后遍历单元格,在需要下拉框选择的单元格中,定义combo ,然后combo.items(array)
回复 使用道具 举报
qwedcxzas
金牌服务用户   /  发表于:2023-8-23 10:48:52
5#
我测试一下,晚点回复
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2023-8-23 11:29:40
6#
qwedcxzas 发表于 2023-8-23 10:48
我测试一下,晚点回复

好的,有问题随时沟通。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部