1.简单的单元格动态值

C1 格值为=A1+B1 时,C1格的值将是A1和B1相加的结果。
但如果A1是输入框,发生变化的时候,如何才能让A2跟着变化呢。

例如C2只需要写为 = dynamic(A2)+B2 就可以实现A2变化,C2的值跟着变化的效果。

前端动态效果 - dynamic - 图1 第一排不是动态的,所以输入框里输入25,但结果没有变化,还是10. 第二排是动态的,所以输入框里输入25,但结果就变成了35 (25+10).


2.动态的条件格式

通过条件格式,在用户列表里,可以设置如果用户是男性,名称是蓝色字体;如果用户是女性,名称是绿色字体。
如果性别可以修改,那就需要动态的条件格式来保证修改后用户的颜色还是保持一致。用户列表的名称格是B4 =ds.名称,性别格是D4 =ds.性别

  • 页面属性中设置允许编辑。
  • 删除D4格,重新输入公式 =ds.性别 (因为页面是可编辑页面,这样会重新生成性别的编辑控件)
  • 在B4的前景色属性公式中录入动态颜色公式:
    ifv(dynamic(D4)==Dict.性别.男,-16777000,-16720356):如果D4值为 字典项男性(也就是1),那么是蓝色,否则是绿色)。

前端动态效果 - dynamic - 图2

我们看一下运行效果

前端动态效果 - dynamic - 图3 前两行改为女性,改动的同时,名称就变色了。 后几行改为男性。

同样,我们可以方便的实现字体,字号,前景色,背景色,控件样式等的动态条件格式。

另外如果动态的格子是字段的话,可以写为dynamic(字段的公式),例如上例里可以把D4写为ds.性别 。因为动态的数据表字段,就是表单上字段所在格子的动态值。

ifv(dynamic(ds.性别)==Dict.性别.男,-16777000,-16720356)


3.动态的显示和隐藏

和条件格式一样,在 基本属性栏->可视属性的公式里,填入动态公式就可以了。
例如编辑页面中,希望部门是 业务部(id为1)的时候,相片和描述可见,其他时候不可见。
那就可以在相片和描述所在格的可视属性里,填入dynamic(it.部门)==1即可。

如果希望整行消失,那么在相片格子,鼠标右键,选中区域行,在行可视属性里,填入相同的公式即可。

前端动态效果 - dynamic - 图4 当部门不是业务部(id为1)的时候,相片和生日这一整行都将隐藏。


4.动态的单元格验证

当然,静态的单元格验证根本没用。数据表视图里的验证,在编译的时候,会生成到格子里,和手动配置的单元格验证相同

前端动态效果 - dynamic - 图5

value():表示当前格的值。动态跟随改变。如果单元格是A1,那么value()和dynamic(A1)完全相同。 表达式:Validate.长度校验(value(),0,255),0表示最短长度,255表示最大长度,可以修改,例如6,20.至少6,最大20. 出错提示:不满足表达式的时候,提示信息,可以是公式组成。 立即校验:是的话在单元格输入完成的时候就校验,否的话只在保存的时候校验。

数据表视图和手写的单元格验证,都支持多个格子的条件检查。
例如 ifv(dynamic(it.性别)==Dict.性别.男,Validate.长度校验(value(),5,10),Validate.长度校验(value(),10,20))。如果是男性,长度允许5到10,否则长度允许10到20.