天翎MyApps技术社区 - 低代码平台 | 流程管理系统 | BPM软件

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

[表单-包含元素&选项卡] 子表单的记录根据主表单某个字段动态显示【视图过滤-主子表单-数据联动】

[复制链接]
bess 发表于 2013-2-21 10:23:14 | 显示全部楼层 |阅读模式
Q:如何实现,子表单的记录条目根据我主表单的一个字段动态显示,如下图:
子表单"jzggy_子表单"的数据能够根据主表单中"jp2"字段的值动态显示符合条件的记录?
33333.png
A:可以通过刷新重计算来实现,勾选"jp2"字段的刷新功能,包含元素""的重计算功能,然后对应的子表单视图则选择为sql过滤模式,即可实现.
具体实现方式如下:
1.勾选图中jp2字段的刷新功能,勾选包含元素的重计算功能.
111111.png
2.将上图中包含元素包含的视图"jzggy_子表单_sql"的过滤模式选择为sql模式,写入下图中的代码(详细代码附在最尾):
222222222.png
前台效果:

jp2字段没有值,就显示所有子表单的记录:

jp2字段有值,就显示表单"jzggy_子表单"中 j2字段的值等于jp2字段的值的记录:
44444.png

视图过滤的代码:
ps:如果第二张图片中的包含元素没有勾选父子关系,那么就不具备主子关系,但是存在关联关系,可以通过关联文档来获取表单中jp2的字段值
  1. var doc =getParentDocument();      //获取父文档对象 (ps:如果没有勾选父子关系,那么就需要换成获取关联文档对象:var doc =getRelateDocument();)
  2. var value =doc.getItemValueAsString("fp2");  //获取主表单(关联文档)的字段值
  3. println("value====="+value);   
  4. var sql ="";
  5. if(value != null && value !="")      //判断主表单(关联文档)的字段值非空
  6. {
  7.     sql = "select  * from tlk_jzggy_子表单 where item_j1 ='"+value+"' ";   //返回查询条件符合主表单(关联文档)的字段值的记录的sql
  8.    println("sql====="+sql);
  9. }
  10. else         //否则查询主表单(关联文档)的所有记录
  11. {
  12.    sql ="select * from tlk_jzggy_子表单  ";
  13. }
  14. sql;
复制代码

本版积分规则

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

GMT+8, 2026-8-12 06:37

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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