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

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

[常见问题] 视图数据模式

[复制链接]
Chain 发表于 2019-8-19 14:52:11 | 显示全部楼层 |阅读模式
视图的数据除了直接通过设计模式进行设置外,还可以通过SQL模式,DQL模式,存储过程等方式来进行查询,操作步骤如下。

SQL代码模式

通过SQL获取视图列表数据。使用SQL模式的目的就是为了解决使用设计模式和DQL模式都不能实现的问题,可以更好的进行多表级联查询,而且查询效率高。SQL查询语句必须以字符串形式返回。

配置步骤:

第一步:视图模式切换至SQL模式,并填写平台脚本中填写SQL语句。

view58.png

第二步:填写平台脚本定义SQL语句返回,SQL语句为常用的数据库语句即可,如果查询的是平台的表单数据则需要加上DomainID(企业域Id)。

view59.png

  1. (function(){
  2.         var sql= "select domainid,id,formid,item_姓名,item_开始时间,item_结束时间 from tlk_sql数据录入";
  3.     return sql;
  4. })();
复制代码
第三步:如果需要绑定查询表单来对视图数据进行搜索,需要用脚本获取查询视图的值再拼接到SQL语句中。
  1. (function(){
  2.         var sql= "select domainid,id,formid,item_姓名,item_开始时间,item_结束时间 from tlk_sql数据录入 where 1=1 ";
  3.         var state=getItemValueAsString("开始时间");
  4.         var end=getItemValueAsString("结束时间");
  5.                 if(state!=null&&state!=""){
  6.                         sql+="and item_开始时间 >='"+state+"' ";  
  7.                 }else if(end!=null&&end!=""){
  8.                         sql+="and item_结束时间 >='"+end+"' ";  
  9.                 }
  10.         return sql;
  11. })()
复制代码
第四步:效果展示。

view62.png

DQL代码模式

DQL模式能使字段名简化,让数据查询语句变得简洁,能对传递过来的参数进行处理,DQL查询语句必须以字符串形式返回,且在DQL语句中凡使用系统字段都需要在字段名前加”$”符号,用户配置字段可直接使用。

配置步骤:

第一步:创建数据。

view63.png

第二步:视图模式切换至DQL模式,并填写平台脚本中填写DQL语句。(数据表单的名称是“Tlk_DQL表单”)。
  1. "$formname='DQL表单'"
复制代码

view64.png

第三步:展示效果。

view65.png

第四步:如果需要配置查询表单,则可通过脚本获取查询表单字段来判断即可。

view66.png
  1. var value1 = getItemValue("输入值一");
  2. var value2 = getItemValue("输入值二");

  3. var where = ( value1 != null && value1.trim().length() > 0) ?  " and 输入值一='"+ value1+"'" : "";
  4. where += ( value2 != null && value2.trim().length() > 0) ?  " and 输入值二='"  + value2 + "'" : "";

  5. "$formname='DQL表单'" + where;
复制代码
第五步:效果展示。

view67.png

存储过程模式

配置方式:

第一步:创建存储过程。

view68.png

第二步:填写脚本获取存储过程。
  1. var sql = "call ts_select";         
  2. sql;
复制代码
第三步:效果展示。

view70.png

第四步:如果需要加入查询头,需要在查询代码中加入判断条件。
  1. var value2=getItemValueAsString("用户编号");            
  2. var value2=getItemValueAsString("用户名称");     
  3. var sql = "";     
  4. if(value2==null || value2 == ""){           
  5.     sql = "call ts_select";         
  6. }else{     
  7.     sql = "call ts_abel(String:"+value2+")";     
  8. }     
  9.         println("sql"+sql);
  10. sql;
复制代码
第五步:效果展示。

view72.png

本版积分规则

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

GMT+8, 2026-8-12 11:22

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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