找回密码
 立即注册

QQ登录

只需一步,快速开始

Clark.Pan 讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-9-4 18:56  /   查看:1725  /  回复:0
隐式父子关系
隐式父子关系设置的初衷是为了避免用户频繁的通过 C 设置父子关系

默认父子关系(默认上下文)
在模板设计中

如果一个单元格没有指定父子关系,并且它左边相邻的单元格是垂直扩展,那么左边的单元格是它的左父。

如果一个单元格没有指定父子关系,并且它上边相邻的单元格是水平扩展,那么上边的单元格是它的上父。

如下图所示,C=A2*B1其实写不写都是一样的效果。

image.png942203674.png
因为{{=sum(ds.revenue)}}默认的左父就是{{ds.year}},默认的上父就是{{ds.Product}}
image.png837698974.png



另外,上面设置的C=A2*B1 等同于C=B1*A2

回退父子关系(回退上下文)
回退父子关系用 R (range) 关键字表示,与C相反,R是设置在父级上,设置的区域表示父级的子级。



R的用法还可以将定义范围作为其上下文展开的子级,随着上下文进行扩展,如下图所示:
image.png584065856.png
ds.name设置了R=B11:F16这个区域,这个区域实际就是黑色边框的区域(包含ds.name本身)。
在扩展的时候,该区域会随着ds.name扩展进行复制,达到下图所示的效果
image.png466720885.png
这里有以下注意点:
1.R设置的范围可以包含自己
2.交叉表的情况可以允许range中存在交叉,交叉的父的扩展顺序必须不同
例如下图所示:
image.png611710204.png
左上角设置的R=A28 : D29与黄色单元格设置的R=$F$28 : $H$30存在交叉关系,但是A28 : D29是横向扩展的,$F$28 : $H$30是垂直扩展。


0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部