找回密码
 立即注册

QQ登录

只需一步,快速开始

大Vi

高级会员

159

主题

354

帖子

1119

积分

高级会员

积分
1119
大Vi
高级会员   /  发表于:2024-8-7 11:33  /   查看:946  /  回复:8
1、sheet.setDataValidator(row, col, '')这样的时候,如何在下拉框那里展示个默认无数据文字提示;

image.png661016845.png
2、为什么校验只有一个值的时候,下拉框有两行,有一行是空白的,可以去掉吗?
image.png207196349.png

8 个回复

倒序浏览
AKA_HSTS
注册会员   /  发表于:2024-8-7 12:26:14
沙发
感觉1和2都不太能行,没有找到接口来做相应的设置,对于2, 实在不行要不换成cellType 的combobox 吧
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-8-7 13:32:05
板凳
您好!关于您的问题一,题目中的设置方式并不能设置一个DataValidator,您可以设置一个序列数据验证,并在其中设置一条选项表示默认无数据文字提示。但是需要注意的是,序列数据验证将检查这个单元格中输入数据是否符合序列中定义的选项,所以不太理解您的这点需求,直观的感受是可能您需要的是一个下拉列表吗?或者请您讲一下您的使用场景,一起看看应该如何实现。
关于您的问题二,目前设计如此,如果您只需要校验一个值,那可以创建公式数据验证,通过IF函数设置校验条件。可以参考官网API文档了解详情:https://demo.grapecity.com.cn/sp ... ateformulavalidator
回复 使用道具 举报
大Vi
高级会员   /  发表于:2024-8-7 14:18:38
地板
本帖最后由 大Vi 于 2024-8-7 14:30 编辑
Wilson.Zhang 发表于 2024-8-7 13:32
您好!关于您的问题一,题目中的设置方式并不能设置一个DataValidator,您可以设置一个序列数据验证,并在 ...

我本意就是要做一个下拉框,因为组件自身下拉框在导出后没有同样的下拉框,所以才用校验的方式做了类似下拉框组件。
sheet.setDataValidator(row, col, dv),dv是动态的,可能是空字符串、'a','a,b,x',可能为不同的个数。
问题一就完全无法实现吗?问题二你说的解决办法能不能写个示例,我不知道公式怎么写。
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-8-7 16:00:24
5#
大Vi 发表于 2024-8-7 14:18
我本意就是要做一个下拉框,因为组件自身下拉框在导出后没有同样的下拉框,所以才用校验的方式做了类似下 ...

关于您的问题一,我还不太清楚您的意图,是需要一个数据验证器还是一个提供选项的下拉列表呢?请您多提供一些需求信息,咱们一块讨论下如何实现。
关于您的问题二,您可以参考二楼我帮您找到的demo了解详情,现在给您提供一个参考示例,如下代码所示是创建了一个公式数据验证,验证A1单元格中的输入值是否大于12,大于12则可以正常填充,否则提示错误信息:
  1. var dv = GC.Spread.Sheets.DataValidation.createFormulaValidator("IF(A1>12, true, false)");
  2. dv.showInputMessage(true);
  3. dv.inputMessage("看着输入吧,尽量大于12");
  4. sheet.setDataValidator(0, 0, 1, 1, dv, GC.Spread.Sheets.SheetArea.viewport);
复制代码
回复 使用道具 举报
大Vi
高级会员   /  发表于:2024-8-8 09:24:10
6#
Wilson.Zhang 发表于 2024-8-7 16:00
关于您的问题一,我还不太清楚您的意图,是需要一个数据验证器还是一个提供选项的下拉列表呢?请您多提供 ...

我需要实现一个下拉框,下拉选项是动态的,可能没有值,可能一个,可能多个,我用的是数据验证方式去模拟下拉框组件,然后现在下拉选项只有一个值的话,我需要去掉多余的空白行。 image.png263965453.png
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-8-8 11:56:15
7#
大Vi 发表于 2024-8-8 09:24
我需要实现一个下拉框,下拉选项是动态的,可能没有值,可能一个,可能多个,我用的是数据验证方式去模拟 ...

请问您如何控制“动态”呢?此外,关于您对导出为Excel后希望保留下拉框的需要,可以通过createListDataValidator创建序列数据验证实现。
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-8-29 17:54:41
8#
您好!请问下您的这个需求实现的如何了呢?是否需要我们协助呢?
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-9-29 10:13:15
9#
您好,由于本帖较长时间没有回复,本帖先做结贴处理了,后续如您有其他问题,欢迎您开新帖提问。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部