找回密码
 立即注册

QQ登录

只需一步,快速开始

Universail
金牌服务用户   /  发表于:2024-3-30 21:41:31
11#
Ellia.Duan 发表于 2024-3-20 09:31
问题一、如果是通过UI方式添加的表,需要通过如下方式获取

观察上图,返回tableList ,去遍历,找到要更 ...

这样只能获取到表清单吧:spread.dataManager().tables

其实,获取通过UI方式添加的数据表,根本目的是为了在向后端发起get请求的时候,能拦截并添加请求头(token),否则后台会报错token非法
回复 使用道具 举报
Universail
金牌服务用户   /  发表于:2024-3-30 22:22:04
12#
Ellia.Duan 发表于 2024-3-20 09:31
问题一、如果是通过UI方式添加的表,需要通过如下方式获取

观察上图,返回tableList ,去遍历,找到要更 ...

另外,还有个拦截时机的问题:

我在onDesignerInitialized事件中尝试获取:
const workBook = this.designer.getWorkbook() as GC.Spread.Sheets.Workbook;
console.log(workBook.dataManager().tables);

发现得到的是空对象
回复 使用道具 举报
Universail
金牌服务用户   /  发表于:2024-4-1 10:45:55
13#
Ellia.Duan 发表于 2024-3-18 10:27
问题一、建议您使用CRUD函数,


remote.read如果使用函数,则会导致UI无法编辑,这个不是我想要的
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2024-4-1 14:23:49
14#
您好,如果不使用function的方式,您也可以通过options的方式修改header中Authorization的值,如下代码:
  1.        var myTable = dataManager.addTable("myTable", {
  2.             remote: {
  3.                 read: {
  4.                     url: "http://127.0.0.1:3000/studentList",
  5.                     headers: {
  6.                         "Authorization": 1,
  7.                     },
  8.                 }
  9.             }
  10.         });
复制代码
关于获取不到tables的问题,您可以尝试导入成功后,再进行获取。
关于集算表更新,您可以参考下面的代码:
  1. myTable.fetch(true).then(function () {
  2.                 let myView = myTable.views["myView"];
  3.                 let sheet = spread.getActiveSheetTab();
  4.                 sheet.setDataView(myView);
  5.             });
复制代码


回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2024-4-11 16:51:27
15#
您好,由于您长时间未回帖,本贴就先作结帖处理了,后续如果有其他新的问题,欢迎继续发新帖询问
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 立即注册
返回顶部