找回密码
 立即注册

QQ登录

只需一步,快速开始

热点科技

初级会员

24

主题

56

帖子

200

积分

初级会员

积分
200
热点科技
初级会员   /  发表于:2022-10-24 11:29  /   查看:1195  /  回复:7
1金币
集算表中
  1. //add a view with column formula
  2. var myView = productTable.addView("myView", [
  3.     { value: "productId", caption: "ID"},
  4.     { value: "productName", caption: "Name", width: 400 },
  5.     { value: "unitPrice", caption: "Unit Price", width: 100 },
  6.     { value: "unitsInStock", caption: "Units In Stock", width: 100 },
  7.     { value: "unitsOnOrder", caption: "Units On Order", width: 100 },
  8.     { value: "=SUM([@unitsInStock], [@unitsOnOrder])", caption: "Total Amount", width: 100 },
  9.     { value: "=[@unitPrice] * SUM([@unitsInStock], [@unitsOnOrder])", caption: "Total Price", width: 100 }
  10. ]);
复制代码

指定的value在batch模式下,commitChange提交的数据有对应的value属性,但是value如果是引用的话数据就没有属性了,如何能获取到引用列的值?

最佳答案

查看完整内容

如果想要灵活,建议用普通的worksheet工作表去完成对应需求而非集算表。 集算表本身的数据或者是字段都是根据数据表来的。正常的场景是用来描述数据库中的表结构与关系,做正常的grid的表格处理。计算列的功能是利用已有字段进行公式计算。 集算表本身为了保证性能高效,舍弃了很多灵活的功能。所谓鱼与熊掌不可兼得。 但是用户在实际使用中是可以根据业务进行灵活选择的。

7 个回复

倒序浏览
最佳答案
最佳答案
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-10-24 11:29:48
来自 8#
如果想要灵活,建议用普通的worksheet工作表去完成对应需求而非集算表。

集算表本身的数据或者是字段都是根据数据表来的。正常的场景是用来描述数据库中的表结构与关系,做正常的grid的表格处理。计算列的功能是利用已有字段进行公式计算。

集算表本身为了保证性能高效,舍弃了很多灵活的功能。所谓鱼与熊掌不可兼得。
但是用户在实际使用中是可以根据业务进行灵活选择的。
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-10-24 16:28:55
2#
您好,
我的理解是,您是想咨询对于集算表 计算列如何保存在数据库中,
实际上,计算列是对已有的字段值列做了公式计算,不需要保存在数据库中,只需要保存字段值列至数据库就可以了。
在加载至集算表时,将所需的字段列值从数据库获取,在view中根据需要设置好计算列的公式,最后显示这些列即可。
您为什么想将公式也保存呢?view本身就是一个根据显示需求设计的视图,如果是想要做到模板复用,保存这个视图就可以了。
回复 使用道具 举报
热点科技
初级会员   /  发表于:2022-10-24 16:44:56
4#
Lynn.Dou 发表于 2022-10-24 16:28
您好,
我的理解是,您是想咨询对于集算表 计算列如何保存在数据库中,
实际上,计算列是对已有的字段值 ...

主要是考虑到如果数据我要在其他场景上用的时候,其他场景在获取这个值的时候,我不需要再把对应的公式在写一遍,能直接获取到值
回复 使用道具 举报
热点科技
初级会员   /  发表于:2022-10-24 16:49:36
5#
Lynn.Dou 发表于 2022-10-24 16:28
您好,
我的理解是,您是想咨询对于集算表 计算列如何保存在数据库中,
实际上,计算列是对已有的字段值 ...

比如我的集算表是为了收集数据,假设我现在要做个数据大屏,并非用到spreadjs,需要统计多张报表的公式列(假设是求和),此时我直接查询数据库的字段后,还需要把所有涉及的公式列全部用代码实现一下,才能做到我的效果。
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-10-24 17:24:35
6#
热点科技 发表于 2022-10-24 16:49
比如我的集算表是为了收集数据,假设我现在要做个数据大屏,并非用到spreadjs,需要统计多张报表的公式列 ...

目前从设计上没有直接存储计算列的配置,前面也介绍了设计逻辑。
需要您在显示的时候,在自定义view视图时定义计算列,实现最终数据显示。
回复 使用道具 举报
热点科技
初级会员   /  发表于:2022-10-24 17:28:50
7#
Lynn.Dou 发表于 2022-10-24 17:24
目前从设计上没有直接存储计算列的配置,前面也介绍了设计逻辑。
需要您在显示的时候,在自定义view视图 ...

好的,不过感觉没有这个配置不够灵活,目前的设计只考虑你们spreadjs来做业务的情况,但是实际工作中,这些存储的业务数据可能会应用到各处。
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-11-1 17:31:37
9#
如果没有其他需要沟通的,这个帖子就先结帖了,有新的问题欢迎再发新贴交流
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部