找回密码
 立即注册

QQ登录

只需一步,快速开始

wss.

初级会员

49

主题

149

帖子

452

积分

初级会员

积分
452
wss.
初级会员   /  发表于:2020-4-11 11:41  /   查看:6336  /  回复:7
1金币
请问,在对于后台数据id映射列绑定的值的时候使用dataMap是可以正常显示的,但是映射多个值的时候就有问题了,所以,请问具体页面需要怎么去实现该功能,因为目前是表格都不可编辑,后期可能会需要提供编辑功能

最佳答案

查看完整内容

您好,从您描述来看,可以确定的是,用formatItem和自定义编辑器就可以很容易实现这个功能,其原理与dataMap类似,但自由度其实更好,我发一个Demo,比上边贴的帖子更容易实现,里面的代码大部分你都可以复用,关键的位置我都加了/***/的注释。

7 个回复

正序浏览
wss.
初级会员   /  发表于:2020-4-14 13:40:56
7#
KevinChen 发表于 2020-4-14 10:04
你好,通过你的描述,我理解的是:

1、数据格式是类似 [{id:1, value:"text1"}, {id:2, value:"text2" ...

您说描述的没有问题,大概我们是需要用在一个可配置的的台账展示数据方面,我大概简单描述下
1、用户对应显示列的内容在另一个页面自定义配置一些信息之后当前页面需显示该配置信息,
例如列为:行业属性大类,那么就是单值对应dataMap中的某个字段的文本值。
当用户配置一个列为公司业务类型统计:那么当前列的每一行对应的值可能会有多个类型(当前列的子表数据类是根据行进列配置的,后期可能会有在行上的情况),因为对应的类型很多,所以后台传过来的是绑定的id,那么这时候就需要对应显示多个文本。
2、目前我通过一一对应关系前端循环拼接了需要显示的文本,但是在后期可能需要提供单元格可编辑功能,那么现在问题就是目前通过innerHtml的条件设值之后在可编辑的情况下是否能正常的回选ComboBox中的值
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2020-4-14 10:04:29
6#
wss. 发表于 2020-4-13 13:41
你好大神,因为对于原有的数据以通过dataMap进行解析映射,所以我想在原有的基础上进行改造,因为已有的 ...

你好,通过你的描述,我理解的是:

1、数据格式是类似 [{id:1, value:"text1"}, {id:2, value:"text2"}, {id:3, value:"text3"}]
你希望用dataMap,把子表的数据id映射到主表中显示成value(或相反操作)

2、一个子表或主表单元格,可以绑定多个值,然后显示成拼接的 "text1,text2,text3" 这样。

那么很好奇你的应用场景是什么?如果您提供的场景描述的比较完整,
这样的场景很常见或非常有价值,我们会建议Wijmo产品组加上原生实现。

如果我的理解有误,希望您能给一些图文的描述,举例,或Demo等。
回复 使用道具 举报
wss.
初级会员   /  发表于:2020-4-13 13:41:23
5#
KevinChen 发表于 2020-4-13 11:24
你好,从描述上看,你的这个需求,实际上更好的办法是通过自定义编辑器和formatItem实现,

FlexGrid的单 ...

你好大神,因为对于原有的数据以通过dataMap进行解析映射,所以我想在原有的基础上进行改造,因为已有的后台数据已形成了对应的结构,您的意思是当我获取到行或者列是否为多选的时候在formatltem进行循环遍历显示当前格的内容吗?但是现在可能有几个问题 ;
1、单元格可能仅仅绑定的值是对于的value值,多个是1,2,3这样,具体取文本值绑定在另一个数据中,通过对应的id去寻找对于的数组进行映射拼接数据?
2、如果通过获取的id循环拼接当前单元格的文本,那么在进行可编辑的时候单元能否识别到对应的值进行回选显示?
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2020-4-13 11:24:35
4#
你好,从描述上看,你的这个需求,实际上更好的办法是通过自定义编辑器和formatItem实现,

FlexGrid的单元格中可以保存一个JSON对象,这样就可以把你的映射关系、ID之类的信息保存在单元格中,显示时用formatItem解析,自定义编辑器可以加下拉框之类(如果不需要下拉,那自定义编辑器也用不到,formatItem即可)

这里有个用户实现了类似的场景,参考:

https://gcdn.grapecity.com.cn/fo ... &extra=page%3D1
回复 使用道具 举报
wss.
初级会员   /  发表于:2020-4-11 17:41:46
3#
AlexZ 发表于 2020-4-11 15:10
你好,大致猜测你是想将一个字段绑定到多个列上,可以在数据源中复制该列试一下

如果我理解的有问题,可 ...

你好,我大概描述一下目前需要实现的功能
1、单元格列绑定id值的时候需要对应数据映射他的文本值
2、映射某列的时候可能会是多选的状态 也就是说单元格绑定的值是1,2,3。通过这些id去寻找对应的文本值(text),需要显示的是: 文本值1,文本值2,文本值4这样的
我看了下之前单一值是用dataMap实现的,但是涉及到多个值的话目前请教一下合适的方法
回复 使用道具 举报
AlexZ讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-4-11 15:10:12
2#
你好,大致猜测你是想将一个字段绑定到多个列上,可以在数据源中复制该列试一下

如果我理解的有问题,可以提供一段 Sample 代码或者告知你具体想实现什么功能
回复 使用道具 举报
最佳答案
最佳答案
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2020-4-11 11:41:11
来自 8#
您好,从您描述来看,可以确定的是,用formatItem和自定义编辑器就可以很容易实现这个功能,其原理与dataMap类似,但自由度其实更好,我发一个Demo,比上边贴的帖子更容易实现,里面的代码大部分你都可以复用,关键的位置我都加了/***/的注释。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

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