如果你要让表达式列的值可以随着相关列数据的改变而同步改变,则只能选用表达式方式创建。
如本例,“部门人员”是根据“部门”和“姓名”两列数据动态生成的,只要这两列中的数据被修改(允许编辑时就能在表格中直接修改),那么“部门人员”列也要做出改变,这就是前后端同步。要实现这样的效果一样简单,只要改用列表达式即可。
在表达式编辑区双击,弹出表达式设置窗口,在这里写入公式:
点击确定按钮,系统将自动验证表达式是否正确。验证通过后自动关闭设置窗口,并将公式填入表达式编辑区:
保存并重新生成页面之后,表面上看起来与模板方式创建的列没有什么不同,可修改一下试试呢?如下图所示,把第1行的“部门”值修改之后,“部门人员”列也同步做出了修改:
由此可见,列表达式的功能更强,而且还能支持跨表取值。以下是两点非常重要的补充说明:
如本例,假如同时设置了模板和表达式:
页面显示效果和上图完全一样,修改单元格数据时,“部门人员”列也会同步修改,但该列的内部值却变成了“商务部一部王伟”。简而言之,模板决定的是显示值,而表达式是实际值。利用它们的这种特性,我们还可以在模板中加上判断或各种样式,以便在页面中呈现出更加精美的数据展示效果(具体请参考“数值型列模板”中的最后一个例子)。