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

QQ登录

只需一步,快速开始

查看: 3770|回复: 7

[处理中3] NewCreateParam事件中如何新增多行带默认值的记录

[复制链接]

13

主题

86

帖子

182

积分

初级会员

Rank: 2

积分
182
QQ
发表于 2018-11-29 09:53:40 | 显示全部楼层 |阅读模式
需求是这样,我从一张表里按照条件查出多条记录,然后通过另一个数据集的newdata方法把这些行记录插入到这个数据集里面,写了代码也不报错,但是没有效果。请帮看一下是该怎么写。

GXCBData.newData();
Model.prototype.GXCBDataNewCreateParam = function(event){
       var param = new Array();
       var data = this.comp("data1");//data1是已查出来记录装载到的一个cdata
       var lRow = data.getLastRow(), row, names = [];
       data.first();
       do {
           row = data.getCurrentRow();
           param.push(row);
           data.next();
       } while (lRow != row);
       event.table = param;
};

13

主题

86

帖子

182

积分

初级会员

Rank: 2

积分
182
QQ
 楼主| 发表于 2018-11-29 10:03:33 | 显示全部楼层
本帖最后由 tange387 于 2018-11-29 10:05 编辑

如果用bizdata直接加载查询结果的话,执行的ksql又会报错。ksql如下:
select guid() as fID, gx.fID as fGXID, gx.fGX as fGXMC,gx.fGZL as fZGZL,gx.fZYDW as fDW from GE_GXXX gx,GE_XMJHS jh where jh = gx.fXMIDGX and jh.fXMMC='cq' and jh.fXMPC='5' and gx.fGXLX='22'
错误信息如下:
Caused by: com.justep.exception.BusinessException: 编码: JUSTEP150210; 提示: 执行KSQL出错, KSQL: select guid() as fID, gx.fID as fGXID, gx.fGX as fGXMC,gx.fGZL as fZGZL,gx.fZYDW as fDW from GE_GXXX gx,GE_XMJHS jh where jh = gx.fXMIDGX and jh.fXMMC='cq' and jh.fXMPC='5' and gx.fGXLX='22'
--> sql:
--> binds: []
at com.justep.exception.BusinessException.create(Unknown Source)
at com.justep.system.data.impl.TableUtilsImplement.ksqlSelect(Unknown Source)
at com.justep.system.data.impl.TableUtilsImplement.ksqlSelect(Unknown Source)
at com.justep.system.data.impl.TableUtilsImplement.ksqlSelect(Unknown Source)
at com.justep.system.data.KSQL.select(Unknown Source)
at XMJHS.query_GX(XMJHS.java:30)
... 27 more
Caused by: com.justep.exception.KSQLException: 编码: JUSTEP154115; 提示: KSQL语法错误, from GE_GXXX gx^^,GE_XMJHS jh wh中未找到需要的元素, 位置103期望是<EOF>
at com.justep.exception.KSQLException.create(Unknown Source)
at com.justep.system.ksql.token.TokenManager.matchToken(Unknown Source)
at com.justep.system.ksql.token.TokenManager.match(Unknown Source)
at com.justep.system.ksql.parser.QueryParser.start(Unknown Source)
at com.justep.system.ksql.parser.QueryParser.start(Unknown Source)
at com.justep.system.ksql.parser.AbstractParser.parse(Unknown Source)
... 32 more

回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35918
发表于 2018-11-29 10:59:19 | 显示全部楼层
from后面只能有一个概念

如果是插入数据就用insert into

如果是关联查询http://bbs.wex5.com/forum.php?mod=viewthread&tid=37258

可以参考http://docs.wex5.com/bex5-ui-question-list-10195/中看看是否满足需求
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

13

主题

86

帖子

182

积分

初级会员

Rank: 2

积分
182
QQ
 楼主| 发表于 2018-11-29 11:31:47 | 显示全部楼层
ksql的方式我们不用了,我用sql代替也可以。
下面那种例子的方法我试过,加载进去不能编辑,除非给查询出来的table设置rowid字段,那样还是要在sql里面调用数据库的函数来随机生成一个id。我目前也是这么做的,虽然能够实现需求但是我想知道用设置数据集默认值的方式到底该怎么做?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35918
发表于 2018-11-29 11:45:30 | 显示全部楼层
赋值后debugger调试看看table中是什么
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

13

主题

86

帖子

182

积分

初级会员

Rank: 2

积分
182
QQ
 楼主| 发表于 2018-11-29 13:27:35 | 显示全部楼层

TIM图片20181129132624.png
就是一个Array。
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35918
发表于 2018-11-29 14:14:45 | 显示全部楼层
这个需要的是json格式的数据,不是直接用data的行对象

你可以用另一个data的toJson()方法获取到数据给table赋值

但是不推荐这样操作,推荐还是前面的方法到后端处理,方法数据多的时候肯定影响效率
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

13

主题

86

帖子

182

积分

初级会员

Rank: 2

积分
182
QQ
 楼主| 发表于 2018-11-29 14:43:47 | 显示全部楼层
用data的toJson也不行,算了不研究了。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 00:47 , Processed in 0.089057 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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