ClearQuest的动态关联

发表于:2007-8-29 14:02

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:johnjinwei    来源:johnjinwei的博客

一. 创建Record types –Stateless:
1、 在Record Types –Stateless中创建一个type,其名字叫:“项目”,其DBName为“item”。
2、 然后在项目中的fields中新建一个field,取名字为“item_name”,其type选择为SHORT_STRING。
3、 在项目的forms中选择把该field放到窗体上。
 
 
4、 在Record Types –Stateless中创建一个type,其名字叫:“一级菜单”,其DBName为“one­_menu”。
5、 然后在项目中的fields中新建一个field,取名字为:“model­_one_name”,其type选择为SHORT_STRING。另外再创建一个type其field name为:“item­_name”;type为:REFERENCE,其Reference To为:“项目”。
6、 在项目的forms中选择把该field放到窗体上。
 
 
7、 在Record Types –Stateless中创建一个type,其名字叫: “二级菜单”,其DBName为:“two­_menu”。
8、 然后在项目中的fields中新建一个field,取名字为:“model­_two_name”,其type选择为SHORT_STRING。另外再创建一个type其field name为:“model­_one_name”;type为:REFERENCE,其Reference To为:“一级菜单”。
9、 在项目的forms中选择把field放到窗体上。
 
 
二.创建Record types:
    1、新建一个field,其field name为:“项目”,type为:REFERENCE,其Reference To为:“项目”。其choice list为BASIC,点Basic的右键,点Hook properties;在出现的对话框中选中:Recalculate choice List.其代码如下:
       Dim sessionObj
            Dim queryObj
            Dim filterObj
            Dim resultSetObj
            Dim prj_name
            Dim curSession
 
            Set sessionObj = GetSession()
 
            Set queryObj = sessionObj.BuildQuery("item")
            queryObj.BuildField ("item_name")      
            Set resultSetObj = sessionObj.BuildResultSet(queryObj)
 
resultSetObj.Execute   
 
            Do While resultSetObj.MoveNext = AD_SUCCESS
             choices.AddItem resultSetObj.GetColumnValue(1)
SessionObj.OutputDebugString resultSetObj.GetColumnValue(1)
            Loop
 
2、新建一个field,其field name为:“一级菜单”,type为:REFERENCE,其Reference To为:“一级菜单”。其choice list为BASIC,点Basic的右键,点Hook properties;在出现的对话框中选中:Recalculate choice List.其代码如下:
 Dim sessionObj
    Dim queryObj
    Dim filterObj
    Dim resultSetObj
    Dim prj_name
 
    Set sessionObj = GetSession()
    prj_name = GetFieldValue("item").GetValue()
 
    Set queryObj = sessionObj.BuildQuery("one_menu")
 
    queryObj.BuildField ("model_one_menu")
 
    Set filterObj = queryObj.BuildFilterOperator(AD_BOOL_OP_AND)
    filterObj.BuildFilter "pm", AD_COMP_OP_EQ, prj_name
    Set resultSetObj = sessionObj.BuildResultSet(queryObj)
 
    resultSetObj.Execute
 
    Do While resultSetObj.MoveNext = AD_SUCCESS
        choices.AddItem resultSetObj.GetColumnValue(1)
        SessionObj.OutputDebugString resultSetObj.GetColumnValue(1)
    Loop
 
3、新建一个field,其field name为:“二级菜单”,type为:REFERENCE,其Reference To为:“二级菜单”。其choice list为BASIC,点Basic的右键,点Hook properties;在出现的对话框中选中:Recalculate choice List.其代码如下:
  Dim sessionObj
    Dim queryObj
    Dim filterObj
    Dim resultSetObj
    Dim prj_name
 
    Set sessionObj = GetSession()
    prj_name = GetFieldValue("one_menu").GetValue()
 
    Set queryObj = sessionObj.BuildQuery("two_menu")
 
    queryObj.BuildField ("model_two_menu")
 
    Set filterObj = queryObj.BuildFilterOperator(AD_BOOL_OP_AND)
    filterObj.BuildFilter "one_menu", AD_COMP_OP_EQ, prj_name
    Set resultSetObj = sessionObj.BuildResultSet(queryObj)
 
    resultSetObj.Execute
 
    Do While resultSetObj.MoveNext = AD_SUCCESS
        choices.AddItem resultSetObj.GetColumnValue(1)
        SessionObj.OutputDebugString resultSetObj.GetColumnValue(1)
    Loop
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号