基础(七)"/>
finereport基础(七)
之前做的报表都是将数据查询后展示出的报表
今天看新的类型,填报类型,可以实现数据插入、更新、删除
一、填报应用
预期一
思路:
(1)首先是预览时可选择的报表的分类:
可以看到有三种预览:分页预览/填报预览/数据分析
其中可以选择填报预览 进行展示 填报预览不同之处在于可以对数据进行提交
这样就满足了提交的属性
(2)可以看到我们需要为表填写数据,所以需要设置控件来进行输入
控件类型:
其中控件部门有很多细节
例如:
empno、sal、comm是数字类型,可以设置小数的位数
hiredate是日期类型,需要设置返回值是日期类型否则与emp表的字段数据类型不同,插入会失败
deptno、job、mgr可以设置成下拉框控件 仅仅在可选的范围进行输入
取消自定义功能
(3)关于填报报表的原理
我们知道如果是用sql向表中插入数据,需要执行 insert语句
故当我们对填报报表属性进行设置: 内置sql 并将单元格的属性值指定给该表的合适的字段(并且保证在数据类型合适、不违反约束等前提下),我们可以想到这样的程序,通过变量赋值来完成自动的插入
这就是它的原理,所以程序需要获得数据,并将数据传递给正确的参数
这里的方式是:
智能添加单元格,通过&单元格读取该单元格的属性来传递给参数,完成insert的操作
(4)填报报表的插入极其霸道,他没有rollback功能,提交即自动comiit
并且只有当设置主键后,update和delete才会生效
结果:
提交数据(没有设置主键时)
查询数据库:
二、填报报表进阶
预期二:
与预期一不同的是,预期二多了一步数据校验
数据校验与思路:
(1)数据校验类似于约束,用来对输入的数据进行规范化检测,若不符合则不允许插入或修改
设置数据校验:
如图所示,不规范则会提示
(2)若执行delete或者update,必须为该模板表中设置主键,否则执行不成功
(3)可自己设置操作:插入行/删除行来进行操作,也可以在报表web属性中-------填报页面设置添加控件----删除/增加行
即 新增删除行功能
也自己自己设置:
设置按钮控件指定单元格需要选择A2,即empno主键
模板:
结果:
三、小结
1.预览时可以选择不同的报表类型,填报报表需要合适的控件支持
2.填报报表可以修改表的数据,但也可以添加数据检验作为约束执行
3.执行delete和update需要主键 insert不需要
更多推荐
finereport基础(七)
发布评论