找回密码
 立即注册

QQ登录

只需一步,快速开始

Coco_

注册会员

16

主题

43

帖子

153

积分

注册会员

积分
153
Coco_
注册会员   /  发表于:2023-9-14 20:01  /   查看:2182  /  回复:6
本帖最后由 Richard.Huang 于 2023-9-15 10:55 编辑

在排序之后,只有单元格中变动的值在datasouce中改变了。因为数据格式要求,需要通过获取datasouce数据进行行转列,因此需要保存时,列转行的数据也就不对。

原始数据,id对应的数据是正确的。
image.png847940978.png
image.png214537963.png
排序编辑之后,id和名称对不上,会导致数据保存也有问题。
image.png657602843.png
image.png397474059.png


代码见附件。

需求: datasouce的数据跟随行变换位置。
image.png619202880.png
image.png395661315.png
image.png328136596.png

行排序后datasouce数据错乱demo.7z

1.55 KB, 下载次数: 398

6 个回复

倒序浏览
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2023-9-15 09:37:56
沙发
您好,该问题已重现,我们将对它进行调研,后续有进展我会在本贴中回复您。

本帖先做保留处理。
回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2023-9-19 16:51:28
板凳
最新的调研跟进,我们的SpreadJS产品是基于单元格粒度而非行列,因此只对绑定的内容进行双向绑定的实现,如您的图片所示id并没有进行绑定,就不会跟着排序进行更换,如果您想保持排序后id也和其他字段保持一致,您需要将id进行绑定,然后通过visible参数不让id显示:

sheet.bindColumns([
     { name: "id", displayName: "ID", visible: false, size: 200 },
     { name: "details", displayName: "Details", visible: false, size: 200 },
     { name: "name", displayName: "Name", size: 200 },
     { name: "price", displayName: "Price", size: 120 },
     { name: "2023-01", displayName: "2023/01Count", size: 150 },
     { name: "2023-02", displayName: "2023/02Count", size: 150 },
     { name: "2023-03", displayName: "2023/03Count", size: 150 },
]);
回复 使用道具 举报
Coco_
注册会员   /  发表于:2023-9-21 14:28:47
地板
Richard.Huang 发表于 2023-9-19 16:51
最新的调研跟进,我们的SpreadJS产品是基于单元格粒度而非行列,因此只对绑定的内容进行双向绑定的实现,如 ...

1.如果有很多字段,全部绑定上来是否会影响控件响应效率?
2.是否可以通过tag或者其他方式,将整个对象绑定在行上,同时排序也会调整。
回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2023-9-21 15:15:00
5#
本帖最后由 Lynn.Dou 于 2023-9-21 16:47 编辑
Coco_ 发表于 2023-9-21 14:28
1.如果有很多字段,全部绑定上来是否会影响控件响应效率?
2.是否可以通过tag或者其他方式,将整个对象 ...

您好
对于您的第一个问题:大部分场景通过绑定是没有问题的,不太能确定您所说的很多字段具体有多少,所以不能给您一个具体的影响情况

然后对于您的第二个问题,您将您一个对象的数据存放在tag上,随着排序进行同步进行排序其实和咱们数据绑定然后通过visible设置来实现差别不大,并且您还需要去自己记录存放在哪个单元格上,所以不是很推荐。

其实,咱们还有一款集算表功能不知道能否满足您的需求,集算表是按照行的粒度进行控制的,也就避免了数据绑定导致的未绑定字段不同步的问题:https://demo.grapecity.com.cn/sp ... eet-panel#timestamp

回复 使用道具 举报
Coco_
注册会员   /  发表于:2023-10-25 19:18:33
6#
Richard.Huang 发表于 2023-9-21 15:15
您好
对于您的第一个问题:大部分场景通过绑定是没有问题的,不太能确定您所说的很多字段具体有多少,所 ...

通过将所有字段绑定处理了,字段过多的,用动态方法绑定了
回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2023-10-26 09:53:24
7#
Coco_ 发表于 2023-10-25 19:18
通过将所有字段绑定处理了,字段过多的,用动态方法绑定了

好的,解决了就好,那么本贴就先结帖了,后续有新的问题欢迎继续发帖讨论
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部