sunqinhui 发表于 2024-9-27 16:31:46

spreadjs v17 数据源字段如何清空

本帖最后由 Joestar.Xu 于 2024-10-9 15:44 编辑


调研编号:SJS-26701



目前后端接口已经没有返回这些字段了 ,但是数据源中依然存在,
目前都是先删除数据源再重新添加 字段才是最新请求的, 有什么办法能够实时显示接口返回的字段

Joestar.Xu 发表于 2024-9-27 16:31:47

了解了,请参考这段新代码来实现:

let schemaColumns =
spread.dataManager().tables["表1"].options.schema.columns;
let columns = spread.dataManager().tables["表1"].columns;

let map = {};
for (const key in schemaColumns) {
if (schemaColumns.dataName) {
    map.dataName] = key;
}
}

spread.dataManager().tables["表1"].columns = null;
spread.dataManager().tables["表1"].options.schema.columns = null;
spread
.dataManager()
.tables["表1"].fetch(true)
.then(() => {
    let option = spread.dataManager().tables["表1"].options;
    for (const key in map) {
      let ifSet = false;
      if (spread.dataManager().tables["表1"].columns) {
      ifSet = true;
      }
      delete option.schema.columns;
      delete spread.dataManager().tables["表1"].columns;
      if (ifSet) {
      option.schema.columns] = schemaColumns];
      spread.dataManager().tables["表1"].columns] =
          columns];
      }
    }
    designer.refresh();
});

Joestar.Xu 发表于 2024-9-27 16:55:08

您好,可以使用fetch接口来刷新table的数据,具体请参考:https://demo.grapecity.com.cn/spreadjs/help/api/classes/GC.Data.Table#fetch

sunqinhui 发表于 2024-9-29 10:55:59

不好意思 没说清楚 您提供的是集算表的刷新 我需要的是reprotSheet的

Joestar.Xu 发表于 2024-9-29 11:16:02

您好,ReportSheet和TableSheet(集算表)使用的都是DataManager中的Table作为数据源。

sunqinhui 发表于 2024-9-29 11:20:16

如何使用这个方法

这是js? 想通过前端实现实时刷新字段 目前缓存太重了 后端没有返回的字段还依然存在在数据源中

Joestar.Xu 发表于 2024-9-29 11:39:52

简单来说需要遍历每个Table去执行fetch接口,在此之前要先获取到spread对象和DataManager来获取所有的Table对象。具体可以参考下图:

sunqinhui 发表于 2024-9-29 12:05:57

本帖最后由 sunqinhui 于 2024-9-29 12:07 编辑


获取是空的 提供js demo

Joestar.Xu 发表于 2024-9-29 12:12:28

如果获取tables为空,说明你的spread对象中没有任何数据表。

基于目前的情况我有两点猜测:

要么是导入的spread对象本身不包含任何数据表。

要么是代码的执行顺序有问题,需要在导入后再执行。

sunqinhui 发表于 2024-9-29 14:14:31

本帖最后由 sunqinhui 于 2024-9-29 14:52 编辑

有好几个数据源呢spread对象是不上面那样获取的你那边是怎么获取spread对象的 而且这边已把代码删光了 还是获取到空的 已经提供demo了 麻烦看下代码

页: [1] 2 3 4
查看完整版本: spreadjs v17 数据源字段如何清空