起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10686|回复: 17

[结贴] data组件是否可以根据sql自动生成?

[复制链接]

63

主题

332

帖子

732

积分

高级会员

Rank: 4

积分
732
QQ
发表于 2017-10-13 17:10:10 | 显示全部楼层 |阅读模式
版本: 小版本号:
数据库: 服务器操作系统: 应用服务器:
客户端操作系统: 浏览器:
因为业务需要,有一个比较复杂的sql语句,现在需要把登陆人id作为条件传到图中红圈部分,根据这个sql语句生成一个data组件,请问该如何做?



1507885742(1).jpg
QQ : 447220653
与大家一起学习

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35910
发表于 2017-10-13 17:27:21 | 显示全部楼层
动态创建data参考/UI2/system/components/justep/data/demo/demo.w
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

63

主题

332

帖子

732

积分

高级会员

Rank: 4

积分
732
QQ
 楼主| 发表于 2017-10-13 17:42:28 | 显示全部楼层
jishuang 发表于 2017-10-13 17:27
动态创建data参考/UI2/system/components/justep/data/demo/demo.w

动态创建的时候,里面的where值要怎么传进去?
就是我上面图中的那个参数
QQ : 447220653
与大家一起学习
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35910
发表于 2017-10-13 17:46:39 | 显示全部楼层
定义action给action传参参考/UI2/demo/actions/process/invokeAction/mainActivity.w
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

63

主题

332

帖子

732

积分

高级会员

Rank: 4

积分
732
QQ
 楼主| 发表于 2017-10-14 10:26:54 | 显示全部楼层
本帖最后由 liufanx5 于 2017-10-16 10:47 编辑
jishuang 发表于 2017-10-13 17:46
定义action给action传参参考/UI2/demo/actions/process/invokeAction/mainActivity.w

请老师看一下

1.我现在已经动态生成了data,但是如果要生成bizData,生成时需要根据ontology中概念的关系进行设置,如图,但是我需要的是直接用action绑定这个组件,没有ontology,这里需要怎么写?




2.自定义的action返回值是什么? Table可以做绑定data的返回值吗?




1507947799(1).jpg
QQ : 447220653
与大家一起学习
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35910
发表于 2017-10-16 10:58:39 | 显示全部楼层
1.那就用data不要用bizData
2.table类型的可以
http://docs.wex5.com/bex5-ui-question-list-10069/
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

63

主题

332

帖子

732

积分

高级会员

Rank: 4

积分
732
QQ
 楼主| 发表于 2017-10-16 11:33:49 | 显示全部楼层
jishuang 发表于 2017-10-16 10:58
1.那就用data不要用bizData
2.table类型的可以
http://docs.wex5.com/bex5-ui-question-list-10069/ ...

cData类型无法显示成树形结构,怎么搞?我已经按照正常的bizData设置cData,但是所有数据一列显示,我需要一个树形结构列表
QQ : 447220653
与大家一起学习
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35910
发表于 2017-10-16 13:48:42 | 显示全部楼层
cData也可以展现树形,要确保返回的数据是树形的结构
参考http://bbs.wex5.com/forum.php?mo ... 3&pid=165146472
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

63

主题

332

帖子

732

积分

高级会员

Rank: 4

积分
732
QQ
 楼主| 发表于 2017-10-17 09:29:03 | 显示全部楼层
jishuang 发表于 2017-10-16 13:48
cData也可以展现树形,要确保返回的数据是树形的结构
参考http://bbs.wex5.com/forum.php?mod=redirect&got ...

还有如下两个问题:

1.数据库sql语句一共有28条数据,action查询带出来的数量是没问题的,但是只要加上 table.getProperties().put(Table.PROP_NAME_ROWID, "location_id"); 这个设置主键的代码,再通过                 cData.loadData(data1, false, null, null, true);  读到cData中后,界面上只能显示4条数据了,如果不加设置主键的代码,界面上会显示所有的28条数据,这是什么原因?已经确定主键没有问题。


2.如图cData设置,和bizData设置是相同的,数据也是相同的,bizData中是可以加载为树形结构,但是cData中显示出来就是一列,是哪里有问题?
123456.jpg
QQ : 447220653
与大家一起学习
回复 支持 反对

使用道具 举报

63

主题

332

帖子

732

积分

高级会员

Rank: 4

积分
732
QQ
 楼主| 发表于 2017-10-17 09:48:48 | 显示全部楼层
本帖最后由 liufanx5 于 2017-10-17 09:49 编辑

附上biz层相关代码
  1.         public static Table queryLocationBySid() {
  2.                 System.out.println("queryLocationBySid===========================");
  3.                 System.out.println(ContextHelper.getPerson().getID());
  4.                 String sql = "select tl.location_id, " + "tl.F_LOCATION_ID, " + "tl.location_name, " + "tl.lock_no, " + "tl.location_type," + "ft.location_id as f_id," + "ft.location_name as f_name,"
  5.                                 + "tl.f_workflow_id," + "tw.workflow_name," + "tl.scode, " + "tl.sfcode," + "sop1.sname as create_person, " + "sop2.sname as operate_person " + " from tb_location tl "
  6.                                 + "LEFT JOIN TB_LOCATION FT ON tl.F_LOCATION_ID = FT.LOCATION_ID AND FT.DEL_FLAG = 0 " + "LEFT JOIN TB_WORKFLOW TW ON tl.F_WORKFLOW_ID = TW.WORKFLOW_ID AND TW.DEL_FLAG = 0 "
  7.                                 + "inner join TB_LOCATION_DETAIL tld on tl.location_id = tld.location_id and tld.is_exist = '0' " + "left join sa_opperson sop1 on sop1.sid = tl.create_person and tl.del_flag = 0 "
  8.                                 + "left join sa_opperson sop2 on sop2.sid = tl.operation_person and tl.del_flag = 0 " + "where tl.location_id in " + "(select location_id from tb_location start with location_id in "
  9.                                 + "(select tul.location_id from tr_user_location tul " + "inner join TB_LOCATION_DETAIL ld on tul.location_id = ld.location_id and ld.is_exist = '0' "
  10.                                 + "where tul.sid = ? and tul.del_flag = 0 and tul.operate_flag = 0) " + "CONNECT BY nocycle location_id = PRIOR F_LOCATION_ID)";
  11.                 Map<String, String> sqlMap = new HashMap<String, String>();
  12.                 List<Object> list = new ArrayList<Object>();
  13.                 list.add(ContextHelper.getPerson().getID());
  14.                 sqlMap.put(SQL.DEFAULT_DB_NAME, sql);
  15.                 Table table = SQL.select(sql, list, WLWdata);
  16. //                table.getProperties().put(Table.PROP_NAME_ROWID, "location_id");
  17.                 System.out.println(table.size());
  18.                 return table;
  19.         }
复制代码



QQ : 447220653
与大家一起学习
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-4-19 01:24 , Processed in 0.077044 second(s), 28 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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