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

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

如何获取视图中选中的行列字段的值

[复制链接]
ykse01 发表于 2012-3-1 12:55:37 | 显示全部楼层 |阅读模式
本帖最后由 purple 于 2012-3-2 20:12 编辑

在视图删除的时候想做一个判断,请问怎么获取选中的那一行某个列的值
purple 发表于 2012-3-1 13:40:05 | 显示全部楼层
先根据var params = getParameter("_selects");拿到选中记录的ID,然后根据ID查询到需要字段的值,目前没有完整的示例,不介意的话,请稍等,我们这边为您做一个示例,给您带来不便,敬请见谅。
 楼主| ykse01 发表于 2012-3-1 14:00:36 | 显示全部楼层
var params = getParameter("_select");//获取选中记录的ID集合
var process = getDocProcess(getApplication());
var docids = Packages.cn.myapps.util.StringUtil.split(params,";");
var rnt;
for(var i=0;i<docids.length();i++){
    var doc = process.doView(docids[i]);//根据ID查询document对象。
   rnt= doc.getItemValueAsString("字段名")     //取字段值。
}
alter(rnt);

我这样写在删除前脚本里报错
purple 发表于 2012-3-1 14:21:49 | 显示全部楼层
您好,把脚本改成以下脚本,应该就可以了。您先试,有问题,我们再沟通。
var params = getParameter("_selects");//获取选中记录的ID集合
var process = getDocProcess(getApplication());
var docids = Packages.cn.myapps.util.StringUtil.split(params,";");
var rnt;
for(var i=0;i<docids.length;i++){
    var doc = process.doView(docids[i]);//根据ID查询document对象。
   rnt= doc.getItemValueAsString("字段名")     //取字段值。
}
alter(rnt);
 楼主| ykse01 发表于 2012-3-1 14:51:31 | 显示全部楼层
JavaScriptRunning:[FormName:null Activity(11e1-5c5e-4c9c5309-9cdc-41b20962586b).删除.beforeActionScript]: ReferenceError: "alert" is not defined. (11e1-5c5e-4c9c5309-9cdc-41b20962586b).删除.beforeActionScript#8)

解释下这个……报错了
purple 发表于 2012-3-1 15:38:53 | 显示全部楼层
您好,是alert没定义.平台没有这个方法,弹出层是createAlert,或者您可以换成打印语句println,但是这个是在控制台输出的。
purple 发表于 2012-3-1 15:38:56 | 显示全部楼层
您好,是alert没定义.平台没有这个方法,弹出层是createAlert,或者您可以换成打印语句println,但是这个是在控制台输出的。
purple 发表于 2012-3-1 15:41:56 | 显示全部楼层
您好,具体实现可参考这个帖子:http://www.xapps.net/bbs/viewthread.php?tid=160289&extra=原本是想将两种方式全部整理好再发表的,看您比较急,所以目前只有一个解决方案的示例,第二种解决方案的示例,稍后会更新。
 楼主| ykse01 发表于 2012-3-1 16:23:22 | 显示全部楼层
var params = getParameter("_selects");//获取选中记录的ID集合
var process = getDocProcess(getApplication());
var docids = Packages.cn.myapps.util.StringUtil.split(params,";");
var rtn;
var formName="expense";
var appendValue="COSTITEMSTYPE";
for(var i=0;i<docids.length;i++){
    var doc = process.doView(docids[i]);//根据ID查询document对象。
    var pa= doc.getItemValueAsString("ITEMCODE")     //取字段值。
    var dql = "$formname='"+formName+"' ";
    if(appendValue!=""){
                     dql=dql+" and "+appendValue+"='"+pa+"' ";
    }
   var docs = queryByDQL(dql);
   for (var it = docs.iterator();docs!=null && it.hasNext();){
                     rtn =  "无法删除使用中的项";                                                       
                      break;
   }
}
return rtn;

报错JavaScriptRunning:[FormName:null Activity(11e1-5c5e-4c9c5309-9cdc-41b20962586b).删除.beforeActionScript]: invalid return (FormName:null Activity(11e1-5c5e-4c9c5309-9cdc-41b20962586b).删除.beforeActionScript#20)

怎么解决?
purple 发表于 2012-3-1 16:30:11 | 显示全部楼层
错误提示是return无效,请问您是将函数写在乃里,函数库吗?

本版积分规则

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

GMT+8, 2026-8-12 21:24

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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