永洪社区

标题: 通过填报参数将页面过滤条件提交到数据库 [打印本页]

作者: 二郎显圣真君    时间: 2021-3-31 14:22
标题: 通过填报参数将页面过滤条件提交到数据库
如何通过填报参数将页面过滤条件提交到数据库?

作者: 美滋滋    时间: 2021-3-31 15:00
你是想在数据填报时,同时将页面当前的过滤条件都写入到数据库中吗?
如果是这样的话,你可以自己写脚本进行数据提交。具体方法参加下面链接
https://www.yonghongtech.com/hel ... C%E4%B8%BE%E4%BE%8B
作者: 寻找新技能    时间: 2021-3-31 16:34
效果:

1、数据库创建表与相关字段用于存储 筛选条件,并创建数据集 查出该表。



2、报表页面拖入 列表参数、列表过滤或者下拉参数组件等等过滤器,制作简单报告。该例子中列表参数绑定'市场'字段--对应数据库表market,列表过滤绑定‘产品’字段--对应数据库表product,下拉参数绑定‘洲’字段--对应数据库表中state。

获取当前页面的用户 并提交 ,使用产品自带的内置参数_USER_实现,文本参数组件 命名为用户,通过脚本” 用户.value=param['_USER_']”给组件赋值并显示。见步骤3。



3、需要注意的是 填报参数 组件 ,顾名思义 通过参数来提交数据到数据库,所以过滤中所用的 列表过滤组件 无法直接通过填报参数组件 设置提交,需要脚本先获取列表过滤组件选中的值 赋值给文本参数再设置提交,与获取当前用户提交方法一致。(建议实现这种效果时不要使用过滤组件, 直接使用列表参数组件或者下拉参数等 参数过滤组件更方便。)

脚本写在页面变化时运行://获取列表过滤选中的值
var arr1=[]
for(var i=0;i<列表过滤1.getSelectedObjects().length;i++){
arr1[i]=列表过滤1.getSelectedObjects()[i
}
//当前登陆用户赋值给名为用户的文本参
用户.value=param['_USER_'
//将列表过滤中的值赋值给名为product的文本参数,多个过滤条件可用逗号隔开。
product.value=arr1.join(',')






4、页面上 更多-填报参数设置提交对应的字段。源字段与目标字段对应关系见步骤2。



5、提交按钮组件,组件脚本上 提交属性脚本为insert()插入。







欢迎光临 永洪社区 (https://club.yonghongtech.com/) Powered by Discuz! X3.4