请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

清风沐阳

金牌服务用户

19

主题

44

帖子

151

积分

金牌服务用户

积分
151
清风沐阳
金牌服务用户   /  发表于:2025-5-23 14:59  /   查看:116  /  回复:3
1金币
本帖最后由 清风沐阳 于 2025-5-23 15:17 编辑

需求背景:

1、使用:const cloumns: GC.Spread.Sheets.Tables.TableColumn[] = [];
    for (var j = 0; j < children.length; j++) {
      let child = children[j];
      var tableColumn = new GC.Spread.Sheets.Tables.TableColumn(j);
      tableColumn.name(child['label']);
      tableColumn.dataField(child['label']);
      cloumns.push(tableColumn);
    }

      table.bindColumns(cloumns)

     创建的表格,绑定了表格列名称,列数据字段dataField
2、已知某个字段名称是"name"

3、通过遍历sheet中所有表格,找到表格列dataField为'name'的表格,并且将表格 原本列的dataField数据字段名称为'name'的列的dataField修改成'newName'

4、但是没有找到能够获取table的columns信息,没能定位到sheet中的table(我想的是根据'name'关键字,查找sheet中是否有表格列的dataField === 'name')

如图,就是要实现修改数据源后同步修改表格列的dataField:






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

最佳答案

查看完整内容

您好, 从截图来看,您应是在外部自定义了字段列表,需求为:当外部字段列表发生变化时,已绑定的table列字段可以随之更新。 目前没有接口可以直接获取 TableColumn 这个列对象。 针对此需求,可通过 table.getColumnDataField(tableColIndex)获取原table列字段, 通过 table.setColumnDataField(tableColIndex,newFieldName) 更新table列字段。 另外, 如果table 列名也需要修改时,可通过table.setColumnName(tableColIndex ...

3 个回复

倒序浏览
最佳答案
最佳答案
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2025-5-23 14:59:11
来自 2#
您好,
从截图来看,您应是在外部自定义了字段列表,需求为:当外部字段列表发生变化时,已绑定的table列字段可以随之更新。
目前没有接口可以直接获取 TableColumn 这个列对象。
针对此需求,可通过 table.getColumnDataField(tableColIndex)获取原table列字段,
通过 table.setColumnDataField(tableColIndex,newFieldName) 更新table列字段。
另外, 如果table 列名也需要修改时,可通过table.setColumnName(tableColIndex,newColumnName) 来做更新。
回复 使用道具 举报
清风沐阳
金牌服务用户   /  发表于:2025-5-27 08:03:53
3#
好的
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2025-5-27 09:15:26
4#
那本帖就先结贴了,有问题欢迎另开新帖交流。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部