可变状态

设计版面中任何一个设计元素都可以拥有多个状态,可以把它看做是一个多图层的对象,同一时段只能显示其中一个图层。

设计元素的状态动态显示在设计面板上,具体显示哪个元素取决于当前选择情况。

每个设计元素被创建时就会有一个默认的状态,可以通过右键点击状态列表弹出菜单来添加/删除状态。

文本单元和版面通常直接使用菜单

图形对象使用组合状态组合现有图形是更方便的做法。

如上图,点击列表删上的状态项可以激活对应状态。
双击当前激活状态,可以修改此状态的名称。

为每个对象每个状态去个名字不是必须的,但如果这个模板经常被使用,那么起易于识别的名字可能应用起来更方便。

可变策略

状态提供了为每个设计元素提供了多个可能的外观选择,我们需要一种方式将状态和数据联系起来,这样就可以通过数据来驱动版面,不同的数据取值会产生不一样的结果,最简单的逻辑大概就是如下图这样。

可变设计设计目的之一就是能让设计师能够方便使用,不用写任何代码表达式,最简单最直观的方式来设计自己的逻辑,点击设计面板右上方的if按钮即可设置当前选择对象的可变策略。

一个条件由三部分组成,左边是数据标签(数据列名),中间是条件运算符,右边是条件取值。选择标签和运算符后,软件会自动计算出可能的取值填充到取值的下拉列表,大多数时候只需要选择即可。

左边数据标签只是一个占位,最终是实际数据行的此标签列的文本数据参与运算,我们把最终参与运算的左值称为数据值,右边设定的取值成为条件值。 那么中间各个运算符的含义如下:

大多数情况下数据值被视为文本

使用带“#”的条件表达式时数据值视为数字,包括=#、!=#、<#、>#,文本被视为数字参与条件运算时,会把文本转化为数字,所以"75元"和"75.00"是相等的。

当数据有分组时,还可以使用{}=、{}>、{}<来判断子数据组的组数,可以使用pos来判断子数据组在父数据组中的位置。