帆软报表自定义提交以及单行提交

本文分享了在报表开发中自定义提交按钮的方法,包括整个报表的提交及单行提交的实现步骤,通过添加按钮控件并设置点击事件,配合JS代码实现个性化提交,提升用户体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

自定义提交

描述:

在平常的报表开发中,有时需要将提交按钮放到自己想要的区域,或者自定义一个提交按钮,亦或是逐行提交。那么这些功能怎么去实现呢?下面分享一下我自己的敬仰!

一,自定义提交整个报表

选中区域->添加普通按钮—>点击事件->加上下面的js

_g('${sessionID}').verifyAndWriteReport();

二、单行提交
单行提交:
添加按钮控件->点击事件->提交入库
然后将提交入库的字段与区域对应
设置回调函数:

if (fr_submitinfo.success) {
    FR.Msg.toast('当前行提交成功');
    setTimeout("location.reload();", 3000 )    
} else {
    FR.Msg.toast('当前行提交失败');
}

总结:

自定义提交,可以再做一些填报的时候,会让页面更加美观,也会使报表更加人性化!

<think>好的,用户想知道如何在帆软中提交单行数据,我需要根据提供的引用内容来整理步骤。首先,引用[2]提到使用报表填报属性和JS事件来实现单行提交,这是主要的方法。用户需要先设置填报属性,绑定数据库字段,然后通过按钮触发提交动作。 接下来,模板填报属性的设置是关键。在报表设计时,需要添加对应的控件,比如文本框,并绑定到数据库字段。然后进入报表填报属性,设置提交的字段和目标表,确保每个控件对应正确的列。这里要注意的是,单行提交可能需要设置填报条件,限制只有当前行提交,避免多行数据被处理。 然后是事件设置部分,引用[2]和引用[3]都涉及到JS代码。用户需要在按钮的事件中添加JS脚本,调用contentPane的写入方法。例如,使用_writeReportRC方法提交当前行,或者通过获取选中的行号来提交特定行。需要确保代码正确获取行号,并调用正确的API方法,比如_writeReportRC或deleteReportRC,但提交应该是写入操作,所以可能需要使用写入相关的函数。 此外,引用[3]中的删除操作虽然不同,但结构类似,都是获取行号然后调用方法。因此,提交单行数据可以类似处理,将选中的行号传递给提交函数。需要检查API文档确认具体的提交方法名称,但根据引用内容,可能使用contentPane.writeReportRC()或者类似的方法。 最后,用户可能需要示例代码,所以在回答中需要提供一个简单的JS示例,展示如何获取当前行并提交。同时,注意事项如开启填报页面设置、主键冲突处理等也需要提及,确保用户操作时不会出错。总结步骤应该是设置填报属性、绑定控件、添加按钮事件,并处理数据校验和冲突。</think>### 帆软单行数据提交方法示例 在帆软报表中实现单行数据提交,主要通过**模板填报属性**与**JS事件**结合实现。以下是具体步骤与示例: --- #### **1. 模板填报属性设置** **步骤说明:** 1. **新建数据集**:在FineReport中新建数据集`ds1`,通过SQL查询语句从数据库表(如`product`)中读取数据[^1]。 2. **设计填报控件**:在报表单元格中添加文本框控件,绑定数据库字段(如`产品名称`、`价格`等)。 3. **配置填报属性**: - 进入`模板 -> 报表填报属性`,添加提交操作。 - 设置提交字段与数据库表字段的映射关系(例如:`A2`单元格绑定`product_name`列,`B2`绑定`price`列)。 - 启用`智能提交`或`逐行提交`模式,确保仅提交当前行数据[^2]。 --- #### **2. 单行提交事件设置** 通过按钮触发提交动作,使用**JS事件**控制提交范围: ```javascript // 按钮点击事件代码 var row = contentPane.getCurrentRow(); // 获取当前行号 contentPane._writeReportRC(null, [row]); // 提交指定行数据 contentPane.doWriteBack(); // 执行提交操作 ``` **参数说明:** - `_writeReportRC`:提交指定行数据,第一个参数为列号(`null`表示所有列),第二个参数为行号数组。 - `doWriteBack`:触发实际提交动作,将数据写入数据库[^2]。 --- #### **3. 填报条件限制** 为防止误提交多行数据,需设置**填报条件**: 1. 在`报表填报属性`中,添加公式条件(如`$$$==row()`),限制仅提交当前行。 2. 结合数据库主键校验,避免重复提交冲突。 --- #### **注意事项** 1. **填报页面设置**:确保模板已启用`填报页面`设置(`模板 -> 模板 Web 属性 -> 填报页面设置`)。 2. **主键冲突处理**:若数据库表有主键约束,需在填报属性中配置`冲突策略`(如更新或忽略)。 3. **数据校验**:可在控件属性中添加校验规则(如非空、数字范围等)。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值