找回密码
 立即注册

QQ登录

只需一步,快速开始

hanl

注册会员

7

主题

22

帖子

63

积分

注册会员

积分
63
hanl
注册会员   /  发表于:2022-1-4 09:38  /   查看:2025  /  回复:3
1金币
本帖最后由 hanl 于 2022-1-4 09:50 编辑

1、使用场景:     目前想通过产品实现主子表批量保存的功能。以人员信息录入为例:主表是人员基本信息,子表是人员教育经历,在Excel里的表现形式如下:
       image.png50424193.png
      用户可以通过添加行、删除行、修改行的方式来批量维护人员信息,最后通过点击保存按钮实现批量保存功能。
2、问题
     1. 这种主子表(或者叫主从明细)的批量保存如何实现?我目前想到的是用表格(Table)来实现,通过设置数据源和绑定Path的方式。但是目前Table.getDirtyRows无法获取到删除行。
     2. 如果通过表格来实现,获取增加、修改、删除行的最好方式是什么?
     3. 如果用Sheet表单(不用表格)的形式实现,是否会更好?
     4. 如果有更好的方案或示例,也请麻烦提供一下。
     5. 再追问一下,主子表的表现形式可否不像我截图里那样,有其他更好更直观的方式,比如类似于那种分组列的形式,第一行是主表,下面的行是子表。(这个我想过,涉及到一个问题,就是主表列宽和子表列宽如何互不影响?)如果有那种浮动子表(相当于是浮动DIV),不影响主表的列设置,那可能可以解决。

最佳答案

查看完整内容

您好,结合您的使用场景,建议您使用table绑定。 脏数据的产生需要一定条件,所以您可以通过对比数据源来判断是否进行了新增、修改、删除操作。 具体如下: 绑定数据源后,使用sheet.getDataSource().getSource() 方法可以获取修改后的数据源, 对比前后数据源,判断做了哪些修改性行为,以及获取变更的数据。 sheet级别绑定会将字段绑定在列头上,结合您描述场景来看,不太符合您的需求。 当然,您也可以实际测试下。 综 ...

3 个回复

倒序浏览
最佳答案
最佳答案
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-1-4 09:38:47
来自 2#
您好,结合您的使用场景,建议您使用table绑定。
脏数据的产生需要一定条件,所以您可以通过对比数据源来判断是否进行了新增、修改、删除操作。
具体如下:
绑定数据源后,使用sheet.getDataSource().getSource() 方法可以获取修改后的数据源,
对比前后数据源,判断做了哪些修改性行为,以及获取变更的数据。
sheet级别绑定会将字段绑定在列头上,结合您描述场景来看,不太符合您的需求。
当然,您也可以实际测试下。
image.png922233276.png
综上,除此之外这边想不到更好的建议了。
回复 使用道具 举报
hanl
注册会员   /  发表于:2022-1-4 10:19:27
3#
Lynn.Dou 发表于 2022-1-4 10:16
您好,结合您的使用场景,建议您使用table绑定。
脏数据的产生需要一定条件,所以您可以通过对比数据源来 ...

好的,谢谢,我再思考一下。

我还想问一下,最新的TableSheet是已经正式推出了吗?还是Beta版状态?感觉这个好像在表格方面功能更强大
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-1-4 11:53:45
4#
目前TableSheet仍是Beta版,您可以在学习指南了解相关知识。
https://demo.grapecity.com.cn/sp ... eet/overview/purejs
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部