找回密码
 立即注册

QQ登录

只需一步,快速开始

dengxpeng

注册会员

11

主题

61

帖子

180

积分

注册会员

积分
180

圣诞拼拼乐

[已处理] 组合框显示问题

dengxpeng
注册会员   /  发表于:2020-9-28 10:21  /   查看:6246  /  回复:18
我用的表格设计器创建了表格,里面有几列是设置的组合框。 image.png149400023.png

页面渲染的时候先加载模板,然后从后端获取数据,再渲染数据,结果渲染出来的值还是数字,不是我设置的显示文本。

18 个回复

倒序浏览
dengxpeng
注册会员   /  发表于:2020-9-28 10:25:29
沙发
这个是因为设置了数据源过后,把原有的公司和单元格类型都设置都覆盖了吗?
回复 使用道具 举报
Fiooona
论坛元老   /  发表于:2020-9-28 11:26:30
板凳
是的,如果你用setDataSource,会更新这个模板的内容,原先的设置就没有了,
只能返回数据setDataSource之后再设置
组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!
回复 使用道具 举报
dengxpeng
注册会员   /  发表于:2020-9-28 11:29:07
地板
image.png967521667.png
我现在 是这样设置了的,但是 还是显示的0或者 1 image.png449409179.png
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-9-28 13:33:34
5#
您好,分析代码是以下原因:
1. 导入模板后不用new一个新的组合框,使用getCellType获取模板中的组合框。
  1. var combo = sheet.getCellType(1,5);
复制代码
2. 使用 editorValueType 方法来设置被写入底层数据模型的值时,写入value 而不是text
  1. cellType.items([
  2.      { text: 'Oranges', value: '1' },
  3.      { text: 'Apples', value: '0' }]).editorValueType(GC.Spread.Sheets.CellTypes.EditorValueType.value);
复制代码


回复 使用道具 举报
dengxpeng
注册会员   /  发表于:2020-9-28 14:27:05
6#
本帖最后由 dengxpeng 于 2020-9-28 14:28 编辑
lynn512 发表于 2020-9-28 13:33
您好,分析代码是以下原因:
1. 导入模板后不用new一个新的组合框,使用getCellType获取模板中的组合框。
...

获取到原来的 celltype,然后设置完数据源后,我尝试获取getCellType ,获取到的对象里面 依然是包含了 items 等信息的。
而且有下拉框列的每一行数据都要一个一个设置吗?可是 还是不行呀
回复 使用道具 举报
dengxpeng
注册会员   /  发表于:2020-9-28 14:34:06
7#
lynn512 发表于 2020-9-28 13:33
您好,分析代码是以下原因:
1. 导入模板后不用new一个新的组合框,使用getCellType获取模板中的组合框。
...

image.png733133849.png
image.png621257323.png
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-9-28 17:07:41
8#
您的需求应该是绑定数据源的时候显示组合框的值(是或否)吧?如下图这个效果: image.png37251585.png
其实不用在模板设计的时候给单元格设置组合框,这样会导致一个问题:表格插入行时组合框不会随之添加。如下图:

image.png701471252.png

所以最好是在绑定数据源的时候给表格指定列设置 组合框。
image.png875857238.png
附件的demo为一个示例,您可以参考下,不用纠结模板设计组合框所遇到的这些问题了。


数据绑定.rar

1.74 MB, 下载次数: 238

回复 使用道具 举报
dengxpeng
注册会员   /  发表于:2020-9-28 17:11:53
9#
lynn512 发表于 2020-9-28 17:07
您的需求应该是绑定数据源的时候显示组合框的值(是或否)吧?如下图这个效果:
其实不用在模板设计的时候 ...

是的,就是需要根据传值,展示不同的中文。
我现在也发现了,把数据渲染后,新的行不会附带格式。
所以我准备新增行 然后用copyto来复制格式。现在又遇到了,只能粘贴到一行上,不能粘贴到后面的多行上。
我先看看你发的这个demo。你可以再解答一下我刚刚说的关于copyto的问题。
sheet.copyTo(1,-1, 2,-1,3,-1, GC.Spread.Sheets.CopyToOptions.all);
我想的是复制第二行所有的列到第三,还包含后面的3行里。


回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-9-28 17:19:30
10#
本帖最后由 lynn512 于 2020-9-28 17:21 编辑

因为设置的组合框是绑定在表格的一列的,所以表格插入列也是会有组合框的。
在官网学习指南上也有相关的示例, image.png772349548.png

如果上个回答的demo不能解决您的问题,您也可以参考学习指南demo的代码:
https://demo.grapecity.com.cn/sp ... able-binding/purejs



回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部