4.3.1 组件基础属性
1、静态属性、动态属性 和绑定属性
页面中有静态信息、有动态信息。反应到组件上,就分为静态属性、绑定属性和动态属性。属性分类说明见表4-5。静态属性就是一个输入框,只能输入固定的信息。绑定属性就是一个下拉列表,只能选择页面中的数据集组件或其中的数据列。动态属性则需要通过动态属性编辑器设置属性值。
表4-5 基础属性分类
分类 |
属性名称 |
说明 |
静态属性 |
文本 图片地址 显示名称 |
设置为静态信息 |
绑定属性 |
绑定数据集 绑定数据列 |
关联数据集或关联数据列。关联数据列是双向的,既可以显示数据集中的数据,又可以将用户输入的信息存储到数据集中 |
动态属性 |
动态文本 动态隐藏 动态禁用 动态图片地址 |
获取数据集中的数据,这是单向的,即只能从数据集中获取数据,不能向数据集存储数据 |
2、动态属性编辑器
单击“动态文本”属性右侧的…按钮,打开动态属性编辑器,如图4-23所示。
图4-23 自定义情景
l 默认情景和自定义情景
在动态属性编辑器中首先设置情景,情景分为默认情景和自定义情景。默认情景只需设置属性值。自定义情景可以没有,也可以定义多个,在自定义情景中需要设置条件和属性值。
图4-23中设置的动态属性含义为:当“获取周数”函数返回值等于1时,属性值为“星期一”,当“获取周数”函数返回值等于2时,属性值为“星期二”,……,以上条件均不满足时,属性值为“未知”。
自定义情景中的条件可以设置多个。当设置为多个条件时,既可以设置为需要满足全部条件,情景才能生效,也可以设置为只需满足任意一个条件,情景就生效。如图4-24所示,情景1中包含2个条件,满足“任一”条件情景都会生效。
图4-24 设置只需满足任意一个条件
l 表达式编辑器
在动态属性编辑器中,单击…按钮,都会打开如图4-25所示的对话框。这个对话框被称为表达式编辑器。因为在这里可以拼接出一个表达式。
图4-25 表达式编辑器
表达式编辑器分为3个区域,左上方的数据区域显示数据集信息、右上方的函数区域显示系统函数,底部的表达式区域显示组成的表达式。
数据区域显示3种数据,一种是数据集当前行数据,另一种是数据集计算行数据,第三种是动态列表当前行数据。根据当前编辑的动态属性所处的位置,系统显示相应的数据。例如在动态列表中,会显示动态列表当前行数据;在数据集的规则设置中,会显示数据集计算行数据;在任何情况下都会显示数据集当前行数据。一般来说,在动态列表中会使用动态列表当前行数据,在规则设置中会使用数据集计算行数据,在其它情况下,使用数据集当前行数据。如果一时难以分清,可以从上往下找。例如:要显示数据集中“日期”列的值,在数据区域中从上往下找,如果计算行下面有“日期”列,就选择这个列,如果动态列表当前行下面有“日期”列,就选择这个列,都没有,就选择数据集下面的“日期”列。
函数区域中列出了字符串函数、日期时间函数、数学函数和其它函数。用于生成数据和转换数据。
表达式区域分为两部分,上面是工具栏,下面是输入框。单击工具栏中的按钮就会在输入框中出现按钮上的符号。按钮的作用就是便于输入,特别是引号,如果自己从键盘输入,受输入法的影响,很容易输入中文引号,中文引号和中文字是一样的,不能用作表达式中的引号,因此单击引号按钮就可以避免这个问题。
下面举例说明如何在表达式编辑器中输入表达式。
示例一:获取周数(计算行.日期)
首先清空表达式区域输入框中的内容。在函数区域找到“日期时间函数”中的“获取周数”函数,双击“获取周数”函数,表达式区域的输入框中显示“获取周数( 时间 ) ”,单击“时间”,数据区域自动过滤,只显示类型为日期和日期时间的数据列,要获得日期列中日期的周数,因此双击“计算行”下面的“日期”列。表达式区域输入框的内容变为“获取周数( 计算行.日期 ) ”。表达式设置完毕。
示例二:数值转字符串(获取年份(计算行.日期),0) + 补零(数值转字符串(获取月份(计算行.日期),0),2,假)
这个案例展示了函数是可以嵌套的,字符串是可以拼接的,共使用5个函数。编辑过程见表4-6。参数如果输错,选中后,可以重新输入。函数如果选错,在函数右侧括号外单击键盘上的回退键Back Space,删除函数。
表4-6 表达式编辑过程
操作 |
输入框内容 |
单击“清除”按钮 |
|
双击“数值转字符串”函数 |
数值转字符串(数值,小数位数) |
单击“数值” 双击“获取年份”函数 |
数值转字符串(获取年份(时间),小数位数) |
单击“时间” 双击“计算行→日期”列 |
数值转字符串(获取年份(计算行.日期),小数位数) |
单击“小数位数”,输入0 |
数值转字符串(获取年份(计算行.日期),0) |
在输入框空白处单击 单击“加号”按钮 |
光标显示在表达式的末尾 数值转字符串(获取年份(计算行.日期),0) + |
双击“补零”函数 |
数值转字符串(获取年份(计算行.日期),0) +补零(字符串,长度,右补零) |
单击“字符串” 双击“数值转字符串”函数 |
数值转字符串(获取年份(计算行.日期),0) +补零(数值转字符串(数值,小数位数),长度,右补零) |
单击“数值” 双击“获取月份”函数 |
数值转字符串(获取年份(计算行.日期),0) +补零(数值转字符串(获取月份(时间),小数位数),长度,右补零) |
单击“时间” 双击“计算行→日期”列 |
数值转字符串(获取年份(计算行.日期),0) +补零(数值转字符串(获取月份(计算行.日期),小数位数),长度,右补零) |
单击“小数位数”,输入0 |
数值转字符串(获取年份(计算行.日期),0) +补零(数值转字符串(获取月份(计算行.日期),0),长度,右补零) |
单击“长度”,输入2 |
数值转字符串(获取年份(计算行.日期),0) +补零(数值转字符串(获取月份(计算行.日期),0),2,右补零) |
单击“右补零” 双击“常量→假” |
数值转字符串(获取年份(计算行.日期),0) +补零(数值转字符串(获取月份(计算行.日期),0),2,假) |
l 常用函数
常用函数见表4-7。
表4-7 常用函数说明
函数 |
说明 |
当前时间 |
获取当前日期或日期时间 |
获取年份 |
获取日期或日期时间中的年份,返回整数 |
获取月份 |
获取日期或日期时间中的月份,返回整数 |
获取周数 |
获取日期或日期时间中的周数,即星期几,返回整数 返回0表示星期日,返回1表示星期一,返回6表示星期六 |
数值转字符串 |
数据类型转换,可以设置小数保留位数,保留时进行四舍五入 例如:数值转字符串(0.2499,2),返回字符串0.25 |
保留小数位数 |
保留小数位数,保留时进行四舍五入 例如:保留小数位数(0.2499,2),返回数值0.25 |