找回密码
 注册成为天翎用户
查看: 1037|回复: 4

[已解决] 批量向子表单插入数据的解决方案

[复制链接]
白沙烟草 发表于 2014-6-12 10:25:48 | 显示全部楼层 |阅读模式
本帖最后由 Jarod 于 2014-6-16 18:22 编辑

我现在建立了一个主从表单,从表单需要从另一个建立的数据库视图里查找数据并插入(多条选择插入),经过查找论坛的贴子:http://www.teemlink.com/bbs/view ... &from=favorites
已完成如下操作:
1、建立了主从表单;
2、建立了数据库视图;
接下来对于上贴中提到的解决方案我有些不太明白:“在主表单增加一个“计算脚本”控件,在里面写代码生成一个“批量添加子记录”的按钮,点击这个按钮会弹出一个试图选择框,该试图是查询该维护表数据,并在这个试图操作添加一个“载人试图”类型的按钮,在这个按钮的动作执行前,写插入子表单代码”
1、上段话中,点击按钮弹出一个试图选择框-----我有些不明白,这个按钮为什么要用计算脚本生成,不能直接用视图选择框吗?
2、弹出的视图选择框在选中多条记录时,每个字段里的数据是用分号分开的,这样如何实现分成一条条的记录插入子表?
 楼主| 白沙烟草 发表于 2014-6-12 14:57:44 | 显示全部楼层
本帖最后由 白沙烟草 于 2014-6-12 15:28 编辑

经过向论坛里众多贴子学习,基本实现通过视图选择框批量向子表单插入数据的功能,但是仍存在以下问题:
1、通过视图选择框的确定条件里写脚本来实现插入子表,也勾选了刷新,但是插入后,在保存主表单前,主从表结构表单中,以视图形式显示的子表不显示插入数据。保存主表单后才显示。这个问题如何解决?
附上我写的代码:
var doc1 = getCurrentDocument();
var childs = doc1.getChilds("Annual_ITP_Boss_Sublist");
var process = getDocumentProcess();
var formProcess = getFormProcess();
var id = getParentDocument().getId();
var selects=getParameterAsText("_selects");
var sel=selects.replace(";","','");
sel="('"+sel+"')";
var sql = "select  * from  tlk_v_annual_itp where id in "+sel;
var datas = queryBySQL(sql);
println("Select=====" + datas);
if (datas.size() > 0) {
        for (var iter = datas.iterator(); iter.hasNext();) {
                var data = iter.next();
                deptname = data.getItemValueAsString("dept_name");
                var subform = formProcess.doView("11e3-f050-05fccbfd-af41-63cd55d3fa68");
                var doc = process.doNew(subform,getWebUser(),createParamsTable());
                 doc.addStringItem("dept_name",deptname);
                 doc.setParent(id);
                 process.doCreate(doc);
               }
}
回复

使用道具 举报

punk 发表于 2014-6-12 15:46:55 | 显示全部楼层
同过远程给客户处理了一下,发现是勾选刷新的地方不正确.
回复

使用道具 举报

 楼主| 白沙烟草 发表于 2014-6-12 15:47:56 | 显示全部楼层
感谢punk的帮助!
问题已解决。
回复

使用道具 举报

punk 发表于 2014-6-12 15:56:37 | 显示全部楼层
好的,谢谢反馈~该贴结贴。
回复

使用道具 举报

本版积分规则

手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-13 18:19

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表