把表变成编辑状态

在PL/SQL Develop 里面可以select这个表,然后编辑它,有两种方法

select t.*,rowid from yourtable

select * from yourtable for update

<think>我们有一个需求:在帆软报中,当编辑控件(如文本框、下拉框等)后,需要将参数`xg`的值设置为`true`。 在帆软中,参数可以通过JavaScript进行设置。通常,我们可以通过以下步骤实现: 1. 在报中定义一个参数(例如`xg`),默认值可以是`false`。 2. 在控件的编辑后事件(或其他适当事件)中编写JavaScript代码,将该参数的值设置为`true`。 具体实现方法如下: ### 步骤1:定义参数 在帆软设计器中,打开模板参数,添加一个参数,命名为`xg`,设置默认值为`false`(可以是布尔值或字符串,根据后续使用情况决定)。 ### 步骤2:在控件的事件中设置参数值 假设我们有一个控件(例如一个文本框,命名为`param1`),我们希望在编辑该控件后,将`xg`设置为`true`。 在控件的“编辑后”事件中,我们可以这样写: ```javascript // 获取当前单 var form = this.options.form; // 设置参数xg的值为true form.setParameterValue('xg', true); // 注意:这里设置的是参数值,参数名是'xg' // 如果需要,可以同时提交参数(触发报刷新) // form.submit(); // 根据需求决定是否立即提交 ``` ### 步骤3:在报中使用参数 在报中,我们可以使用这个参数`xg`,例如在SQL查询中作为条件,或者在单元格中显示等。 ### 注意事项 1. **参数的作用范围**:通过`form.setParameterValue`设置的参数是单参数,可以在整个单中使用。 2. **提交单**:如果设置参数后需要立即刷新报,可以调用`form.submit()`方法。但注意,频繁提交可能会导致性能问题,所以根据实际需求决定。 3. **多个控件**:如果多个控件都需要在编辑后设置`xg`为`true`,那么在每个控件的“编辑后”事件中都要添加上述代码。 ### 示例:在编辑后事件中设置参数 以文本框控件为例: 1. 选中文本框控件,在右侧属性面板中找到“事件”选项卡。 2. 添加“编辑后”事件,在JavaScript编辑框中输入: ```javascript var form = this.options.form; form.setParameterValue('xg', true); // 如果需要立即刷新报,则加上:form.submit(); ``` ### 如何验证参数是否设置成功? 可以在报的某个单元格中显示参数`xg`的值,例如在单元格中输入公式:`=$xg`,这样当参数被设置为`true`时,该单元格就会显示`true`。 ### 引用说明 上述方法参考了帆软官方文档中关于参数设置和事件处理的内容[^1][^2]。 §§相关问题§§ 1. 帆软中如何定义模板参数? 2. 帆软报中如何通过JS刷新整个单? 3. 帆软报中如何通过JS获取参数值? 4. 帆软中如何通过参数控制报块的显示与隐藏?</think>在帆软报中实现编辑控件后设置参数 `xg` 的值为 `true`,可以通过以下步骤实现: ### 完整解决方案 #### 1. 定义参数 在设计器中创建参数: 1. 打开「模板」→「模板参数」 2. 添加参数 `xg`,默认值设为 `false` #### 2. 控件编辑后事件设置参数 在控件的 **编辑后事件** 中添加 JS 代码: ```javascript // 获取当前单对象 var form = this.options.form; // 设置参数 xg 为 true form.setParameterValue('xg', true); // 可选:提交单刷新数据(根据需求) form.submit(); ``` #### 3. 参数使用示例 在 SQL 查询或单元格中使用参数: ```sql SELECT * FROM table WHERE modified = ${if(xg == true, 1, 0)} ``` #### 4. 高级场景:联动其他控件 如果需要根据 `xg` 值控制其他控件可见性: ```javascript // 编辑后事件中 form.setParameterValue('xg', true); // 联动控制其他控件 var auditBtn = form.getWidgetByName("audit_button"); if (auditBtn) { auditBtn.visible(); // 设置审计按钮可见 } ``` ### 关键配置说明 1. **参数设置原理**: - `form.setParameterValue(paramName, value)` 是核心 API - 参数值会同步到报引擎中,可在全报使用 2. **事件绑定位置**: ```mermaid graph LR A[选择控件] --> B[属性面板] B --> C[事件选项卡] C --> D[编辑后事件] D --> E[插入JS代码] ``` 3. **调试技巧**: ```javascript // 查看当前参数值 FR.Msg.alert('当前xg值', form.getParameterValue('xg')); // 控制台输出 console.log("xg参数状态:", form.getParameterValue('xg')); ``` ### 注意事项 1. **参数作用域**: - 设置后立即生效,但需要 `form.submit()` 才会触发报刷新 - 跨单使用需通过 `window.parent` 访问父页面对象 2. **数据类型处理**: - 布尔值建议用 `true`/`false` 而非字符串 - 数字参数需转换:`form.setParameterValue('num', Number(value))` 3. **性能优化**: ```javascript // 避免频繁刷新 setTimeout(function(){ form.submit(); }, 300); // 延迟提交减少刷新次数 ``` > **典型应用场景**: > 当用户修改关键业务数据(如价格、数量)时,标记 `xg=true` 触发后续审计流程[^1][^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值