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

QQ登录

只需一步,快速开始

cmbsjdev
金牌服务用户   /  发表于:2022-3-30 10:25  /   查看:3597  /  回复:13
1金币
本帖最后由 cmbsjdev 于 2022-3-30 10:26 编辑

模板中设置了table类型的绑定变量mytable,包含column1,column2两个字段。
用户编辑增加了10条数据后,如何获取类似这样的数据提供给后端?需要使用哪个api可以做到。
mytable: [row1:{column1:value1,column2:value2},row2:{column1:value1,column2:value2}......]共10条

最佳答案

查看完整内容

这边根据沟通的内容重新写了一个更为通用的方法,可以参考附件的demo。

13 个回复

倒序浏览
最佳答案
最佳答案
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2022-3-30 10:25:41
来自 14#

这边根据沟通的内容重新写了一个更为通用的方法,可以参考附件的demo。
image.png440073546.png

bind.zip

10.64 KB, 下载次数: 182

回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2022-3-30 12:27:43
2#
你好,可以参考附件的demo,利用sheet.getDataSource().getSource()实现。
image.png627541503.png

获取数据源.html

2.59 KB, 下载次数: 140

回复 使用道具 举报
cmbsjdev
金牌服务用户   /  发表于:2022-3-30 15:19:14
3#
我们是使用设计器设置的绑定变量,能否基于这个模板尝试一下。
目前也是用了相同的办法,对于table类型的绑定变量值没有获取到。

sample20220329.zip

3.57 KB, 下载次数: 166

回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2022-3-30 16:09:19
4#
cmbsjdev 发表于 2022-3-30 15:19
我们是使用设计器设置的绑定变量,能否基于这个模板尝试一下。
目前也是用了相同的办法,对于table类型的 ...

这边发现这个json无法导入,请确认该json是否完整。

另外,使用getDataSource的前提是需要通过setDataSource设置数据源,否则是无法通过getDataSoure获取的。如果使用bind方法是无法获数据源的,建议使用setDataSource。
回复 使用道具 举报
cmbsjdev
金牌服务用户   /  发表于:2022-3-30 16:28:31
5#
已经用v15的设计器重新保存了一版,看看能否打开。
绑定变量我们的场景不可能用代码实现的,一定是设计器来编辑,所以还是要设计器设置的变量可以跑通。

sample20220330.zip

3.56 KB, 下载次数: 208

回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2022-3-30 18:32:01
6#
cmbsjdev 发表于 2022-3-30 16:28
已经用v15的设计器重新保存了一版,看看能否打开。
绑定变量我们的场景不可能用代码实现的,一定是设计器 ...

可以参考附件的demo,填写完数据源后,可以通过上面的按钮获取数据源。 image.png219069823.png

bind.zip

10.5 KB, 下载次数: 183

回复 使用道具 举报
cmbsjdev
金牌服务用户   /  发表于:2022-3-31 10:08:45
7#
例子中您声明了sale这个变量,并且还是通过bindingpath方法做绑定。
我们的场景是通过设计器做绑定变量,因为是灵活配置,不能通过代码实现
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2022-3-31 11:06:07
8#
cmbsjdev 发表于 2022-3-31 10:08
例子中您声明了sale这个变量,并且还是通过bindingpath方法做绑定。
我们的场景是通过设计器做绑定变量, ...

代码中的下面两句可以删除。
  1. var table = sheet.tables.all()[0];
  2. table.bindingPath('sale');
复制代码


但是要想要获取数据源,声明一个空的对象并且进行绑定是不可省略的操作了,否则就没有更好的方法获取数据源了。
  1. var tmp = {
  2.                                 sale: [
  3.                                         { kemu: '', bizhong: '', yue: null},
  4.                                         { kemu: '', bizhong: '', yue: null},
  5.                                         { kemu: '', bizhong: '', yue: null}
  6.                                 ]
  7.                         };
复制代码


回复 使用道具 举报
cmbsjdev
金牌服务用户   /  发表于:2022-3-31 11:15:45
9#
这就很奇怪了,为什么同样是字段绑定,table类型的字段无法获取,但是文本类型的字段就可以获取,按道理不是一致的吗?
有没有替代的方法,让我们通过设计器编辑变量和位置,然后使用时可以查询所有的变量值。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部