找回密码
 立即注册

QQ登录

只需一步,快速开始

无法

初级会员

25

主题

62

帖子

201

积分

初级会员

积分
201
无法
初级会员   /  发表于:2018-7-11 10:54  /   查看:4016  /  回复:8
本帖最后由 无法 于 2018-7-19 20:05 编辑

我按官网这个例子(https://demo.grapecity.com.cn/Sp ... os/comboBoxCellType)试了下,只能设置某些格子,如下图
image.png998549804.png

期望:将整一列都设成下拉框的模式,这一列的每个格子都可以下拉选值,这要怎么实现呢?

8 个回复

倒序浏览
无法
初级会员   /  发表于:2018-7-11 11:06:35
沙发
啊,我找到方法了

sheet.getCell(1, 2, spreadNS.SheetArea.viewport).cellType(combo).value("Apples");
改成 sheet.getCell(-1, 2).cellType(combo).value("Apples");
-1 就表示一列了哈哈
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-7-11 13:57:36
板凳
建议用getRange方法,这个是标准写法
像这样:
sheet.getRange(-1,2,-1,1).cellType(combo)

getCell是获取单个单元格时用的方法,不推荐其中参数传为-1使用.
回复 使用道具 举报
无法
初级会员   /  发表于:2018-7-11 14:56:14
地板
ClarkPan 发表于 2018-7-11 13:57
建议用getRange方法,这个是标准写法
像这样:
sheet.getRange(-1,2,-1,1).cellType(combo)

给列设置下拉框后怎么设置值呢?下面这样写对于区域是有效的,但是对于列是无效的
sheet.getRange(-1,2,-1,1).cellType(combo).value("xxx");
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-7-11 16:31:59
5#
sheet.getRange(-1,2,-1,1).cellType(combo)这样写添加下拉框没有问题,设置默认值只能用过循环来一个一个设置,因为value方法针对的是单个单元格。即使用您之前getCell的方法在设置value上也会出现同样问题。
回复 使用道具 举报
无法
初级会员   /  发表于:2018-7-16 16:48:07
6#
ClarkPan 发表于 2018-7-11 16:31
sheet.getRange(-1,2,-1,1).cellType(combo)这样写添加下拉框没有问题,设置默认值只能用过循环来一个一个 ...

但是选择的是一块区域,不包含一行一列的话就是可以的呢
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-7-16 18:05:34
7#
没明白您说的意思,您可以详细的描述一下吗?什么样的情况有效,什么样的情况无效。
回复 使用道具 举报
无法
初级会员   /  发表于:2018-7-17 10:14:27
8#
使用 sheet.getRange(r,c,rc,cc).cellType(combo).value("xxx"); 设置值

这样选一块,设置值是有效的
image.png116710204.png

但是这样选一列,设置值是无效的
image.png612374877.png
image.png212120970.png
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-7-17 18:03:22
9#
这个应该是-1是带有页数含义的用法,这种用法没有办法去直接设置value
您可以这样做
sheet.getRange(r,c,sheet.getRowCount(),cc).cellType(combo).value("xxx"); 这样也可以设置整行
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部