找回密码
 立即注册

QQ登录

只需一步,快速开始

兰之

注册会员

6

主题

16

帖子

46

积分

注册会员

积分
46
兰之
注册会员   /  发表于:2024-3-27 18:01  /   查看:400  /  回复:5
详细解释

1. 使用了bindColumn给列绑定的了数据 形如 { name: 'field1', displayName: 'Field1' }
2. setDataSource时的数据结构为对象数组,数组元素的成员为对象,形如


[
  {
    field1: { value: 1 },
    field2: { value: 2 },
  },
]



请问如何将单元格渲染为其中的value字段,而非[Object object]

5 个回复

倒序浏览
你的需求是什么
注册会员   /  发表于:2024-3-27 18:11:41
沙发
你试着把Value外面的括号去了

  1. sheet.setDataSource([
  2.   {
  3.     field1:  1,
  4.     field2:  2,
  5.   },
  6. ])
复制代码

评分

参与人数 1满意度 +5 收起 理由
兰之 + 5

查看全部评分

回复 使用道具 举报
兰之
注册会员   /  发表于:2024-3-27 18:14:06
板凳
你的需求是什么 发表于 2024-3-27 18:11
你试着把Value外面的括号去了

理解你这个逻辑,我现在两个思路
一个是直接将我的原数组元素中的值全部转成基础类型
另一是自定义CellType或者formatter 给他统一的处理掉,但是现在不知道怎么实现
回复 使用道具 举报
阿花
注册会员   /  发表于:2024-3-27 18:30:47
地板
本帖最后由 阿花 于 2024-3-27 18:34 编辑

你好,你可以尝试这样子处理一下:
  1. var datasource = [
  2.   {
  3.     field1: { value: 1 },
  4.     field2: { value: 2 },
  5.   },
  6. ];
  7. var colInfos = [
  8.   {
  9.     name: "field1", displayName: "Field1", value: function (item) {
  10.       return item.field1.value;
  11.     }
  12.   },
  13.   {
  14.     name: "field2", displayName: "Field2", value: function (item) {
  15.       return item.field2.value;
  16.     }
  17.   },

  18. ];
  19. sheet.setDataSource(datasource);
  20. sheet.bindColumns(colInfos);
复制代码

评分

参与人数 1满意度 +5 收起 理由
兰之 + 5

查看全部评分

回复 使用道具 举报
兰之
注册会员   /  发表于:2024-3-27 19:18:04
5#
阿花 发表于 2024-3-27 18:30
你好,你可以尝试这样子处理一下:

实测可以,十分感谢
回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2024-3-28 09:31:32
6#
兰之 发表于 2024-3-27 19:18
实测可以,十分感谢

好的,本帖子的问题解决,这里就先结帖了。后续如果您有新的问题,也欢迎创建新的求助帖。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部