9.4 填报控件
设置控件
页面填报时需要使用控件来修改单元格的值,选择需要定义控件的单元格,点击填报标签页的控件按钮,就可以设置每个单元格修改时所用的控件了:
控件属性设置
各类控件的定义方法如下:
- 文本输入框
文本输入框中可以启用‘字符长度限制’的功能,如果启用了此功能,则可以进行长度限制。如下图所示:
多行文本输入框
在文本输入框控件中选择‘允许多行文本输入’,即为多行文本输入框,输入框可根据输入文字的长度自动换行,并可以启用字符长度限制。下拉列表
- 数据定义
通过选择报表中已经存在的数据集或者新建数据集来定义下拉列表内的数据,然后在指定的数据集中选择显示列、数据列。 - 自定义
通过二次开发,实现接口来获取数据。接口说明请参见“下拉列表自定义数据”一节。 - 允许多选
设置下拉列表是否允许多选。 - 多选分隔符
设置当多选时多值之间的间隔符号。 - 惰性初始化
设置下拉列表是否通过异步的方式按需取数据(通常又叫做懒加载)。 - 允许手动填写数据
在一些特殊的场合下,当下拉列表中没有想要的数据时,可以手动填写。 - 启用每次输入时,动态数据过滤
通过输入的数据,发出异步请求,获取通过当前输入数据过滤后的数据。 【注意】该选项仅在‘惰性初始化’以及‘允许手动填写数据’选中时可用。 - 在下拉选项中提供空选项
允许在下拉列表中提供一个空选项。
Web页面联动条件设置:当多个下拉列表互相关联时,或者下拉列表的数据是通过某个单元格的值过滤得到时,可以通过此设置实现联动。例如在下图定义的下拉列表中,需要显示A1单元格指定类型的商品列表。则定义联动条件为“TYPE=={A1}”,其中TYPE为数据集ds1中的一个字段名称。
- 数据定义
【注意】如果下拉列表设置为惰性初始化,那么下拉列表中使用的数据集必须是SQL数据集。
- 日历
- 允许设置时分秒
设置日历控件是否允许录入时分秒。 - 时钟格式
设置日历上的时钟是24小时制还是12小时制。 - 自定义控件默认时间
当日历控件显示时,可以显示设置的默认时间。
- 允许设置时分秒
【注意】上图中关于日历的设置全部是控制日历控件显示的,而填入的日期格式则通过设置单元格为日期格式来指定,如果不指定单元格为日期格式则在Web页面填写的单元格会显示成一个长整型数字。设置方式如下图:
下拉树
- 控件宽度
设置页面显示的下拉树宽度 - 控件高度
设置页面显示的下拉树的高度 - 背景颜色
设置页面显示的背景颜色 - 节点设置
通过右键单击指定的节点,即可在节点下新增节点,或者删除当前节点。这里的节点是指定义节点,一个定义节点在生成树时可能会生成多个同级节点。选中某个节点,可以定义节点的数据集。 - 过滤条件
在一般情况下,至少需要定义2级节点,才能完整定义出一个下拉树,在第一层节点过滤条件中输入树的首层节点条件,例如下图中定义的树控件,第一层节点定义过滤条件为:
parentid==“1”
parentid==“1”的含义是树的首层节点为数据集中满足parentid为“1”的数据。 第二层节点定义为:
parentid==#1
‘#1’的含义是代表当前节点的上一层节点,同理‘#2’代表上两层的节点,parentid==#1的含义是parentid等于上层节点的数据。
- 页节点条件
下拉树一般在默认情况下,没有下一级节点的节点即认为是叶子节点。但是在特殊情况下,没有下一级节点的节点并不是叶子节点。比如在一些组织机构树中,叶子节点代表人员,非叶子节点代表机构,这种情况下当某一个机构下没有人员时,也不是叶子节点,这种情况下就需要定义叶节点条件。 - 显示根结点
设置当树控件展示时是否显示根结点。 - 根结点名称
设置根节点的名称。 - 允许多选
树的节点是否允许多选。 - 多选分隔符
多选时多个值之间的分隔符号。 - 惰性初始化
设置树控件是否通过异步方式获取数据。 - 仅选择叶子节点
是否仅叶子节点可选。 - 按末层循环
当树控件某一层节点下所有节点定义都相同,并且层数未知时使用该选项。
【注意】树控件仅可以使用SQL数据集。
- 控件宽度
按钮
在填报报表中可以定义按钮控件,功能如下:- 按钮文字
按钮上显示的文字。 - 事件类型
一些UniEAP Report内置的事件可供选择,如填报提交。 - 按钮关联js方法
当内置事件不能满足需求时,可以使用javascript自定义按钮事件。
控件类型选择按钮,按钮文字可以自定义,目前提供的事件类型有“数据录入提交”、“数据录入绑定提交”、“增加行”、“删除行”、“上传图片”。
选择“增加行”,关联单元格“A3”。
点击增加一行,新增出的一行单元格内容标红。
一般我们会将填报报表里一些标签隐藏掉,可以在页面标签里勾选。- 按钮文字
自定义控件
当提供的控件不满足要求时,您可以通过自定义控件方式来自己实现控件,只需要定义一个控件显示的JavaScript方法即可,控件定义方式如下图所示: