myApps视图
Posted learnerliang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了myApps视图相关的知识,希望对你有一定的参考价值。
一、视图类型分类
视图一共分五类:普通、树形视图、日历视图、地理视图、甘特视图。
1.普通视图:常规的视图配置,可以通过一键生成视图的方式直接生成
2.树形视图:以树形结构显示表单内容,字段中的层级关系通过视图列中映射字段设置来定义,节点的打开类型可以显示为“视图”或“链接”或“树形视图”。
二、视图筛选条件
1.视图数据来源:视图中的数据配置界面可以配置视图的数据来源,分别可以通过设计、代码(DQL)、代码(SQL)来进行视图列条件的过滤。
2.示例
在以下的示例中我们假设在数据库中存在 一张表,表名为:tlk_fm_student,包含字段name、age。
1)DQL语句
获取表单中字段name和age的值,当name和age的值和tlk_fm_student中的值时,显示查询出对应内容的数据
var val = getItemValue("name");
var val2 = getItemValue("age");
var where = (val != null && val.trim().length() > 0 )?"and name = " + val + "":""; //拼接查询条件
where += (val2 != null && val2.trim().length() > 0 )?"and age= " + val2 + "":"";
"$formname = ‘tlk_fm_student‘ " + where; //执行查询
2)SQL语句
获取查询表单name的值,当查询表单中name的值等于“tlk_fm_student”中“name”的值时,显示数据表为查询表单中“name”对应内容的数据;
注意:当数据库中的字段不是以“Item_”开头的,那么这个字段就必须取一个别名,别名是以"item_"开头,否则查询处理的数据项的值将无法获取
var sql = "";
var val = getItemValue("name");
if(val != null && val.trim().length() > 0){
sql = "and item_name = " + ‘"+val+"‘;
}
"select * from tlk_fm_student where istmp = 0" + sql;
查询映射表单数据,SQL实现查询映射表单tb_mapping中name与title字段内容
var sql = "select d.*, m.name, m.title from t_document d";
sql += "inner join tb_mapping m on d.mappingid = m.keyname";
sql;
3)多表查询,显示多个表中的数据
/*通过过滤中代码(SQL)来实现多个数据表(多表查询)的内容,存在两表:tlk_fm_student、tlk_fm_school,两个表通过主外键关联
var sql="SELECT d.*,sub.item_finished,sub.item_date from tlk_fm_student d";
sql +=" inner join tlk_fm_task_school sub on d.id=sub.parent";
sql;
4)查询待办数据
DQL方式:
var dql = "$formname = ‘formname‘ and $state.actor.actorid = " + getWebUser().getId() + " ‘ ";
dql;
SQL方式:
var sql="select d.* from tlk_tablename d";
sql +=" where (d.id in (select states.docid";
sql +=" from t_flowstatert states, t_actorrt actors";
sql +=" where states.id = actors.flowstatert_id";
sql +=" and actors.actorid =‘" +getWebUser().getId() +"‘))";
sql;
以上是关于myApps视图的主要内容,如果未能解决你的问题,请参考以下文章