51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 9921|回复: 38
打印 上一主题 下一主题

[原创] ClearQuest中,设置脚本使一个字段的可选项列表依赖于另一个字段的值,不起作用

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-4-21 12:08:50 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
在ClearQuest中,在“模块”字段的“Choice List”处设置脚本以实现不同的产品对应不同的模块下拉列表项,脚本内容如下,
    DIM chanpin
    chanpin=GetFieldOriginalValue("产品").GetValue()
    select case chanpin
              case "cp1"
                      choices.AddItem("mk1")
         choices.AddItem("mk2")
              case "cp2"
         choices.AddItem("mk3")
         choices.AddItem("mk4")
    end select

但设置后使用时,不管产品选择什么,模块下拉列表中都是空的。麻烦知道的朋友帮忙解决一下,谢谢!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

39#
发表于 2006-12-22 10:50:32 | 只看该作者
发表于 2006-4-30 12:43 PM  资料 短消息   
可以在【产品】的 ValueChanged 事件里写代码


在 【产品】的 ValueChanged 事件里写代码

Sub project_ValueChanged(fieldname)
    SetFieldValue "模块", ""
End Sub

这样,在产品名称变化后,模块列表就会相应改变。
别忘了执行 Hooks->Compile。

[ 本帖最后由 chijj 于 2006-5-8 09:49 编辑 ]


发表于 2006-5-8 09:47 AM  资料 短消息   
应该是可以的,我就是这么做的,可以实现选择不同的产品,模块列表里加载不同的模块。


先在 【产品】的 ValueChanged 事件里写代码,
然后在“模块”字段的“Choice List”处设置脚本:
    DIM chanpin
    chanpin=GetFieldOriginalValue("产品").GetValue()
    select case chanpin
              case "cp1"
                      choices.AddItem("mk1")
         choices.AddItem("mk2")
              case "cp2"
         choices.AddItem("mk3")
         choices.AddItem("mk4")
    end select

[ 本帖最后由 chijj 于 2006-5-8 09:50 编辑 ]

   

   但是如果设置的SCHEMA是在UCM模式的基础上实现的,并且该模式的UCM_project是不可修改的,不能去设置其脚本,

那如果我想我的模块基于UCM_project的话,我想上面楼主chijj说的方法就不能实现的吧????那应该怎么去实现呢???
大家谈谈自己的看法拉????
回复 支持 反对

使用道具 举报

该用户从未签到

38#
发表于 2006-11-24 17:40:08 | 只看该作者
顶  顶
回复 支持 反对

使用道具 举报

该用户从未签到

37#
发表于 2006-8-21 12:00:00 | 只看该作者
好帖子
回复 支持 反对

使用道具 举报

该用户从未签到

36#
发表于 2006-6-27 22:15:00 | 只看该作者
chijj是个好同学,大家要向他学习
回复 支持 反对

使用道具 举报

该用户从未签到

35#
发表于 2006-6-21 14:21:12 | 只看该作者
这种类型的贴帮助很大。谢谢
回复 支持 反对

使用道具 举报

该用户从未签到

34#
发表于 2006-6-20 09:43:00 | 只看该作者
楼主遇到的问题,现在我也遇到了,就是"ClearQuest中,设置脚本使一个字段的可选项列表依赖于另一个字段的值,不起作用".现在我稍微该了一下,在运行的时候在客户端运行的时候是完好的,可是在web端运行的时候刚才的问题就解决不了.请问一下知道的,是不是这个问题不能更改?还是在那里需要设置!!!
回复 支持 反对

使用道具 举报

该用户从未签到

33#
发表于 2006-6-19 11:09:08 | 只看该作者
我现在遇到一个问题和bsd3000 的是一样的,但是我在开始设置模块的Choice List处的脚本时勾选所说的第一个选项了,可是我在运行的时候提示说类型不匹配
回复 支持 反对

使用道具 举报

该用户从未签到

32#
发表于 2006-5-12 08:18:58 | 只看该作者

你太客气了,共同探讨!

你问的问题在 #27 的附件里有,象填加Project一样。

[ 本帖最后由 chijj 于 2006-5-12 15:46 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
回复 支持 反对

使用道具 举报

该用户从未签到

31#
 楼主| 发表于 2006-5-11 18:09:16 | 只看该作者
另外,chijj能否再帮忙指点一下,你所说的在Record Types-Stateless 下的纪录是可以在客户端填加和修改的,这个具体是在客户端的哪个地方进行操作的呢?谢谢!

对于Stateless类型的纪录我还没有仔细了解过,有时间的时候一定要好好看看这一部分,到时候有问题还得请chijj帮忙指点了,谢谢!
回复 支持 反对

使用道具 举报

该用户从未签到

30#
 楼主| 发表于 2006-5-11 18:04:07 | 只看该作者
太感谢chijj了!
出现问题就是因为在开始设置模块的Choice List处的脚本时没有勾选你所说的第一个选项。
没有仔细查看那两个选项的含义的代价太大了,折腾了我好几天。
回复 支持 反对

使用道具 举报

该用户从未签到

29#
发表于 2006-5-11 13:42:29 | 只看该作者

CQ设计器的部分设置

CQ设计器的部分设置

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
回复 支持 反对

使用道具 举报

该用户从未签到

28#
发表于 2006-5-11 13:40:13 | 只看该作者

我想,你的列表事件没有响应可能是这个原因,试试看

1、在某个字段如 “模块” 设置脚本时,有一个选项,要选择第一项,见附件。
2、可以先删除脚本为 DEFAULT,然后再设置 Scripts->BASIC,把原来的脚本拷过去,编译一下,Hooks->Compile。

[ 本帖最后由 chijj 于 2006-5-11 13:43 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
回复 支持 反对

使用道具 举报

该用户从未签到

27#
发表于 2006-5-11 12:55:58 | 只看该作者

是这个意思

我录了一个片断录像,看是不是你要实现的功能。

[ 本帖最后由 chijj 于 2006-5-11 12:58 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
回复 支持 反对

使用道具 举报

该用户从未签到

26#
 楼主| 发表于 2006-5-11 11:15:31 | 只看该作者
谢谢!
不知是否是我理解的问题,我怎么感觉新建Stateless类型的纪录对我这个问题没什么影响啊。

是不是在Stateless类型的纪录下也设置产品、模块字段,设置同样的脚本,然后使Defect下的产品、模块字段引用Stateless类型纪录下的相应字段,脚本就会达到预期的效果?
回复 支持 反对

使用道具 举报

该用户从未签到

25#
发表于 2006-5-11 10:32:48 | 只看该作者

看看这篇文章会有很大帮助的【定制ClearQuest以通过所有者、角色或组来分隔记录】

回复 支持 反对

使用道具 举报

该用户从未签到

24#
 楼主| 发表于 2006-5-11 09:46:30 | 只看该作者
谢谢chijj。
不过我的Record Types-Stateless 下并没有“Project”。

另外我在客户端并没有找到可以添加和修改Stateless类型的Record的地方。
回复 支持 反对

使用道具 举报

该用户从未签到

23#
发表于 2006-5-10 17:38:59 | 只看该作者

其他 Type 同自带的类型 Project 类似

在Record Types-Stateless 下,有一项 【Project】,它是可以在客户端填加和修改的,其他Type类型也和他一样。

1、建其他Type,选择在Record Types-Stateless 节点,右键->Add,即可填加新的Type。
2、在新建的Type下,可以设置字段,主键,窗体,状态等,同新建【缺陷】是一样的(注:窗体有两种,一种是提交用的,一种是修改查看用的)。
3、可以引用他们,象引用 Project,Owner 一样。
4、如新建Type类型-模块,在【模块】窗体上,可以有其对应的【项目】等相关信息。
5、在【缺陷】里填加【模块】字段,可以直接引用类型【模块】(也可以设置为字符型,然后在 Choice List 列表事件里写相关代码,使模块同项目关联起来)。

[ 本帖最后由 chijj 于 2006-5-11 08:25 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

22#
 楼主| 发表于 2006-5-10 14:13:21 | 只看该作者
谢谢chijj !
不过我的“产品”和“模块”字段是在Record Types下的“Defect”中自定义的,不在Record Types-Stateless 下,我把这两个字段都改成英文名称,还是一样。

我知道Dynamic List可以在客户端更改,不必修改Schema,在Record Types-Stateless 下的字段也可以实现这个?如果操作呢?谢谢!
回复 支持 反对

使用道具 举报

该用户从未签到

21#
发表于 2006-5-10 10:36:47 | 只看该作者

我刚才测试了一下,你将 Record Types-Stateless 下的【产品】名称改为英文的试试。

1、你看一下 Record Types-Stateless 的 原 “Project” 是不是改为了中文名称 “产品” 了,如是,将其再改为英文名称,应该就可以了。
2、可以实现后,可以再将名称改回来。
3、建议【模块】也新建一个类型,在 Record Types-Stateless  下,这样可以在外面维护模块,以免每次修改都要修改CQ。

[ 本帖最后由 chijj 于 2006-5-10 10:44 编辑 ]
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-25 20:19 , Processed in 0.087854 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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