51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3619|回复: 12
打印 上一主题 下一主题

[求助] 有个TD的脚本问题想请教

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-5-22 22:56:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位有个TD的问题想请教
TD可否编写脚本 新建时根据字段A的值 判断字段B是否可见
我们公司想用同一个project 管理X、Y、Z三类东西,(X、Y、Z所需字段不同 都显示在添加界面会很乱)
1、能否设置字段A  新建时 默认只显示字段A 当A=X,则显示出X用字段;A=Y,显示Y用字段;A=Z显示Z用字段。用不到的字段都隐藏。
2、有些长字段需要复用如description字段 能不能A=X时,description字段名称显示X所需名称;A=.......

呵呵 刚开始用TD 脚本也不会 麻烦各位高手了
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2008-5-23 13:33:55 | 只看该作者
用那么麻烦吗?直接用过滤器点一下不就OK了?
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2008-5-23 14:27:54 | 只看该作者
给你个我自己写的脚本做参考,呵呵
    Select Case Bug_Fields("BG_PROJECT").Value
        Case "酒店"
            Bug_Fields("BG_USER_03").List = Lists("酒店版本")
        Case "机票"
            Bug_Fields("BG_USER_03").List = Lists("机票版本")
        Case Else
            Bug_Fields("BG_USER_03").List = Lists("其他")
    End Select
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2008-5-24 00:42:44 | 只看该作者
谢谢各位的回答

to joshfang :在查找属于XYZ类时用筛选可以 但是添加界面怎么筛选条件啊 主要是除了BUG还管理一些工作上的数据,字段都堆一起很乱。

to zte_boy:这个是解决问题2的方法么 呵呵我周一去试试 谢谢

呵呵 还有高手路过看到的话 望不吝赐教 先谢啦
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2008-5-26 10:19:19 | 只看该作者
刚试了一下.List和.IsRequired是可以的 但.IsVisible和.FieldLabel不起作用
是TD做限制了 不能根据字段A的变化,实现 字段B的标签和是否可见或是否只读么?
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2008-5-26 14:18:06 | 只看该作者
呵呵,才看懂你的意思,看看这样能不能满足你的要求:

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2008-5-26 17:00:51 | 只看该作者
原帖由 ydht05 于 2008-5-26 10:19 发表
刚试了一下.List和.IsRequired是可以的 但.IsVisible和.FieldLabel不起作用
是TD做限制了 不能根据字段A的变化,实现 字段B的标签和是否可见或是否只读么?


我试了一下,.IsVisible可以起作用的
我在Defects_Bug_FieldChange(FieldName)里加的代码
If FieldName = "BG_STATUS" then

       if   Fields("BG_STATUS").Value = "Closed" then
       SetFieldApp "BG_SUBJECT", False, False, 0, 0
       else
        SetFieldApp "BG_SUBJECT", TRUE, TRUE, 0, 5

       end if
有效果的,可以根据字段内容改变界面的,不知道对你有没有参考价值




Sub SetFieldApp( FieldName, Vis, Req, PNo, VOrder )

  With Bug_Fields(FieldName)
    .IsVisible = Vis
    .IsRequired = Req
    .PageNo = PNo
    .ViewOrder = VOrder
  End With
End Sub
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2008-5-27 10:30:34 | 只看该作者
to CHORD:
恩 是这个意思 但是 把你的脚本考过去后BG_STATUS值不光Closed执行SetFieldApp "BG_SUBJECT", False, False, 0, 0 。只要BG_STATUS状态改变,BG_SUBJECT字段就会隐藏,改不回可见。不知是我贴的位置不对还是脚本的问题,麻烦再帮忙看一下把  谢了。

to joshfang:
多谢关注,但好像还没大理解我的意思,我是想字段A变化的条件下实现字段B是否可见。谢了
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2008-5-28 09:37:42 | 只看该作者
SetFieldApp "BG_SUBJECT", False, False, 0, 0
最后两个参数是设置字段在界面显示位置的,要根据你的实际情况来修改,不能有位置重合的。

简单点的话,只是控制是否可见,是否必填的话可以改成
  If FieldName = "BG_STATUS" then

       if   Fields("BG_STATUS").Value = "Closed" then
       SetFieldApp "BG_SUBJECT", False,FALSE
       else
        SetFieldApp "BG_SUBJECT", TRUE,TRUE

       end if


Sub SetFieldApp( FieldName, Vis, Req )

  With Bug_Fields(FieldName)
    .IsVisible = Vis
.IsRequired = Req

  End With
End Sub
回复 支持 反对

使用道具 举报

该用户从未签到

10#
 楼主| 发表于 2008-5-28 15:11:53 | 只看该作者
还是不行啊 我觉得应该不是那两个字段的问题 因为不光改为‘close’会隐藏,只要改变状态就会隐藏 改回new也还是隐藏的 只有按左上角【clear】按钮才会显示出来。(我新建的工程 贴在Defects_Bug_FieldChange(FieldName)里的) 高手帮忙再看看好不 谢啦
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2008-5-28 16:26:36 | 只看该作者
会不会是你脚本写的有问题。。。。
回复 支持 反对

使用道具 举报

该用户从未签到

12#
 楼主| 发表于 2008-5-29 09:26:11 | 只看该作者
是新建工程 把脚本直接贴进去的 没改啊(就加了个end if不然不让存)你在本地运行没问题?不会是我软件装的有问题吧
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2008-6-16 23:38:12 | 只看该作者
学习一下,还没搞懂
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-10 16:02 , Processed in 0.078472 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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