找回密码
 立即注册

QQ登录

只需一步,快速开始

[已处理] 下拉框值自定义

huawei-unistar
金牌服务用户   /  发表于:2017-7-12 11:37  /   查看:3638  /  回复:3
需求要求下拉框展示数据和入库数据是2份,spreadJS 也有对应的设置方式(value,text),但是每次修改下拉值,会将展示的文本更新到行数据中,这样对于表格保存数据会很麻烦,每次保存之前需要将行数据对应的下拉框值转换成对应的值再执行,是否有更好的办法?

3 个回复

倒序浏览
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-7-12 14:32:42
沙发
您好,可以使用 editorValueType 方法来设置或者获取被写入底层数据模型的值。这种编辑值的类型是一个枚举 EditorValueType。
text: 将选中的项目的文本值写入数据模型中。
index: 将选中的项目的下标写入数据模型中。
value: 将选中的项目相应的数据值写入数据模型中.
下面写了一个demo,您可以进行参考。

editorValueType.zip

843 Bytes, 下载次数: 126

回复 使用道具 举报
huawei-unistar
金牌服务用户   /  发表于:2017-7-12 18:02:48
板凳
你的demo我已经实现,只是我们第一次进入表格会有一个初始值,比如:假设你的demo第一次加载行数据是“11k”,那么第一次表格要展示“11k”对应的Orange(我通过重新定义cellType,设置paint将value转成对应Orange来实现),但是点击下拉弹出下拉框,但是单元格对应的值为“11k”。这个问题如何处理
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-7-13 10:45:50
地板
本帖最后由 ClarkPan 于 2017-7-13 10:47 编辑
huawei-unistar 发表于 2017-7-12 18:02
你的demo我已经实现,只是我们第一次进入表格会有一个初始值,比如:假设你的demo第一次加载行数据是“11k ...

您好,您不要重新定义就可以了,不如我之前上传的demo,单元格选中的还是Orange不会是11k,但是用sheet.getValue(3,2)获取单元格的value可以拿到11k,用sheet.getText(3,2)获取单元格的text可以拿到Orange,如果是要设置初始值,直接sheet.setValue(3,2,"11k");那么初始值显示的就是orange
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部