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

QQ登录

只需一步,快速开始

查看: 3097|回复: 5

[结贴] 关于自定义Action的列表删除问题

[复制链接]

16

主题

43

帖子

92

积分

初级会员

Rank: 2

积分
92
QQ
发表于 2014-4-9 19:06:53 | 显示全部楼层 |阅读模式
版本: 小版本号:
数据库: 服务器操作系统: 应用服务器:
客户端操作系统: 浏览器:
自定义Action Java代码
public static Table querylvl3Relation(){
                StringBuffer buffer = new StringBuffer(1000);
                buffer.append("select * ") /* select 处省略*/
                        .append(" from YC_GOALRELATION YC_GOALRELATION ")/*YC_GOALRELATION做主表*/
                        .append(" optional  join YC_THIRDLEVELGOAL YC_THIRDLEVELGOAL on YC_GOALRELATION.fg_goalId = YC_THIRDLEVELGOAL")
                        .append(" optional  join YC_SECONDLEVELGOAL YC_SECONDLEVELGOAL on YC_THIRDLEVELGOAL.ft_secondLevelGoal = YC_SECONDLEVELGOAL")
                        .append(" optional  join SA_OPOrg SA_OPOrg on YC_GOALRELATION.fg_relationId = SA_OPOrg")
                        .append(" where YC_GOALRELATION.fg_relationType = '1'")
                        .append(" order by YC_THIRDLEVELGOAL.ft_goalDecisionTime desc");
                Table table = null;
                try{
                        table = KSQL.select(buffer.toString(), null, "/wlmyqc/goalManage/data", null);
                        table.getProperties().put(Table.PROP_NAME_ROWID, "YC_GOALRELATION");/*用 YC_GOALRELATION 作为ROWID*/
                        table.getProperties().put(Table.PROP_DB_COUNT, 100);
                }catch(Exception e){
                        e.printStackTrace();
                }
                return table;
        }
自定义的Action 为多表关联的KSQL,并且以YC_GOALRELATION作为ROWID。
js部分:
mainActivity.model1Load = function(event){
        justep.Request.sendBizRequest2({
    dataType: "json",
    action: "querylvl3Relation",
    callback: function(result) {
        if (result.state) {
             justep.xbl("bizData1").loadJson(result.response);
        } else {
            throw new Error("调用失败!|" + result.response.message);
        }
    }
});
};

这部分是在model的onload方法中把自定义Action的数据绑定到bizData1上。并且列表是可以展示数据的。
但是,问题就出在列表删除上,代码如下:
mainActivity.delTriggerClick = function(event){
        var data = justep.xbl('bizData1');
        var deleteConfirm = data.deleteConfirm;
        var directDeleteMode = data.directDeleteMode;
        try{
                data.deleteConfirm = true;
                data.directDeleteMode = true;
                data.deleteData(data.getID());
        }finally{
                data.deleteConfirm = deleteConfirm;
                data.directDeleteMode = directDeleteMode;
        }
};
页面点击“删除”按钮,报错:
Unexpected token }
SyntaxError: Unexpected token }
at Object.parse (native)
at new justep.(anonymous function) (http://10.238.240.25:8080/x5/$vb3dd0af009f34fc7b930757c6b8af5c3/base/base.js?language=zh_CN:1:179093)
at Object.createBizParam2 (http://10.238.240.25:8080/x5/$vb3dd0af009f34fc7b930757c6b8af5c3/base/base.js?language=zh_CN:1:56215)
at Object.sendBizRequest2 (http://10.238.240.25:8080/x5/$vb3dd0af009f34fc7b930757c6b8af5c3/base/base.js?language=zh_CN:1:35203)
at null.doDirectDeleteData (http://10.238.240.25:8080/x5/$vca33db8a172e4e5193f5fe6a5dc566b4/component/data/data.js?language=zh_CN:1:43910)
at null.deleteData (http://10.238.240.25:8080/x5/$vca33db8a172e4e5193f5fe6a5dc566b4/component/data/data.js?language=zh_CN:1:49771)
at Object.mainActivity.delTriggerClick (http://10.238.240.25:8080/x5/$v08177fb33cb840ab8e0eee90a76b1012/UI/wlmyqc/goalManage/process/thirdLevelGoal/mainActivity.js?language=zh_CN:33:8)
at null.callFunction (http://10.238.240.25:8080/x5/$v6df20d15250b4f728f185de10f524473/UI/wlmyqc/goalManage/process/thirdLevelGoal/.cache/mainActivity_zh_CN_x5_51a653e356414dab9108818b4fc854a8.js?language=zh_CN&$version=ebee3670-a168-4db8-bfa7-8e71f87d1fe2:532:119)
at null.run (http://10.238.240.25:8080/x5/$v8f6e720f9a034338be2baa62c388f26d/form/form.js?language=zh_CN:1:386415)
at null.exec_ (http://10.238.240.25:8080/x5/$v8f6e720f9a034338be2baa62c388f26d/form/form.js?language=zh_CN:1:308283)


45

主题

4492

帖子

3960

积分

论坛元老

Rank: 8Rank: 8

积分
3960
QQ
发表于 2014-4-9 20:44:05 | 显示全部楼层
个人感觉你写的KSQL有问题,将你的KSQL输入一下看看,执行是否正常;

JAVA调试方法,参考下面的贴子
BIZ层调试方法 http://bbs.justep.com/forum.php? ... &extra=page%3D1
向前进,向前进,我们……
回复 支持 反对

使用道具 举报

16

主题

43

帖子

92

积分

初级会员

Rank: 2

积分
92
QQ
 楼主| 发表于 2014-4-9 22:29:36 | 显示全部楼层
fpj 发表于 2014-4-9 20:44
个人感觉你写的KSQL有问题,将你的KSQL输入一下看看,执行是否正常;

JAVA调试方法,参考下面的贴子

额,不好意思,我没说清楚,我的错误是报在页面js上的,触发“删除”按钮的时候会弹出这么一个错误。
另外,我的列表是可以查询出来记录的,应该不会是ksql的问题。
QQ截图20140409222526.png
回复 支持 反对

使用道具 举报

16

主题

43

帖子

92

积分

初级会员

Rank: 2

积分
92
QQ
 楼主| 发表于 2014-4-9 22:37:07 | 显示全部楼层
另外再发一下截图详细说明一下,选择一行数据,点击删除。报js错
QQ截图20140409223331.png
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36067
发表于 2014-4-10 09:25:11 | 显示全部楼层
lsz_qh 发表于 2014-4-9 22:37
另外再发一下截图详细说明一下,选择一行数据,点击删除。报js错

通过loadJson到data删的数据,不能通过data的deleteData去删除数据,需要自己写action通过sql删除
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

16

主题

43

帖子

92

积分

初级会员

Rank: 2

积分
92
QQ
 楼主| 发表于 2014-4-10 11:03:42 | 显示全部楼层
jishuang 发表于 2014-4-10 09:25
通过loadJson到data删的数据,不能通过data的deleteData去删除数据,需要自己写action通过sql删除 ...

哦,好的,我知道了,谢谢! 请结贴
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-23 03:29 , Processed in 0.113969 second(s), 28 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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