# 动态样式

表单界面有时会需要根据一个字段值的内容而决定某些字段或者重复节表的行的一些显示样式,在style属性上设置样式可以满足这个需求。
动态样式目前分四种style、cellStyle、rowStyle、itemStyle。其中style、cellStyle、rowStyle用于普通控件,style、rowStyle和itemStyle用于重复节表。

# style

设置普通控件或者重复节表的样式

# cellStyle

设置普通控件所在td(对应于infopath中的单元格)的样式

# rowStyle

设置普通控件或者重复节表所在tr或者所在重复行的样式,具体设置哪个(tr或row)由控件向上查询,先遇到那种就设置哪个

# itemStyle

设置重复节表每一个重复行的样式

注意

  • 样式设置时,第一个参数按照css的写法直接填写样式,例如color:red,这不是一个字符串表达式,不需要外面包上单引号
  • 如果希望去除某个样式可以把值写成null或者空,例如color:null或者color:都可以将前景色的css去除
  • 在itemStyle的条件里可以使用$INDEX来表示重复节表该行的行号

# 样式实例

例A: 表单上有个字段($fieldScore)是int类型,表示分数,现要求如果大于60分用绿色字,如果小于60分用红色字,如果正好60分,既不用红色也不用绿色,表单里原来画什么颜色就用什么颜色
  这里需要设置三条style
  style1:第一个参数填写color:green,条件填写$fieldScore>60
  style2:第一个参数填写color:red,条件填写$fieldScore<60
  style3:第一个参数填写color:,条件填写$fieldScore==60
例B: 表单上有个重复表(groupRepeatTable),现在需要不同的行用间隔的背景色显示,单数行用白色背景,双数行用灰色背景
  需要在groupRepeatTable上设置2条itemStyle
  itemStyle1:background:,条件填写$INDEX%2==0
  itemStyle1:background:#cccccc,条件填写$INDEX%2==1
  注意条件值中的$INDEX是从0开始的