需求
- 自定义一个
导入Excel前清空数据库表
的按钮 - 模板Web属性中的清空导入并不能真正实现清空数据库表
实现思路
- 通过在填报页面设置中
添加「Excel导入前」事件
,设置在 Excel 导入前清空表数据,且添加回调函数判断清空表是否完成
。
实现
1.找到小铅笔
2.拉取按钮控件到用户自定义web属性区
(左数第三个)
3.自定义按钮名称
4.设置事件→点击
5.设置事件的具体内容
- 事件类型选择「提交入库」,提交类型选择「删除提交」,选择需要清空的数据表,通过添加字段添加
主键
「产品 ID」,值使用公式SQL(“库名”,“SELECT 产品ID FROM 产品”,1) 查询出所有主键 ID 。
sql("库名","select 主键id from 库名.表名",1)
6.设置回调函数
- 点击事件设置下方「设置回调函数」,输入 JavaScript 脚本,判断是否已经成功清空表,并弹出提示。
if(fr_submitinfo.success){
FR.Msg.toast('表清空成功!');
}else{
FR.Msg.toast('表清空失败!');
}
- 注1:success 只表示后台程序执行没有异常,不表示数据提交成功。
- 注2: 确认页面提示「表清空成功!」后再导入数据!
7.使表头显示在页面
8.平台设置
- 点击「服务器>报表平台管理」进入数据决策系统,点击「管理系统>安全管理>-安全防护」,关闭「脚本调用公式限制」。
- 注:该限制默认开启,会导致回调函数不生效。
9.验证结果
10.注意
点击按钮后→将鼠标移动到名称上→刷新
- 无数据再进行导入
- 之前没有刷新该页面,发现会出现数据错误