TFS API: 获取自定义查询--使用QueryHierarchy

在VS2010的团队资源浏览器Team Explorer中,用户可以自定义查询,以方便查找、处理工作项。自定义查询包括两部分:我的查询和团队查询。团队查询由具有权限的成员定义并保持,供 项目组人员共同使用。我的查询由用户自己定义,方便个性化设置。TFS的查询层次结构如图所示:

 

      TFS 查询层次树

      这些定义的查询,可以通过使用TFS QueryHierarchy类获取。实现效果如图:

实验 查询树

1. 项目:var projectWithQueries = workItemStore.Projects[projectName];

2.

    //递归函数
    ShowQueries(IEnumerable<QueryItem> queries,TreeNode parentNode)

   {

           foreach (var queryItem in queries)
            {
                if (!queryItem.IsDeleted)
                {
                    m_Queries.Add(queryItem);//将查询存入链表

                    //插入子节点
                    parentNode.Nodes.Add(queryItem.Id.ToString(), queryItem.Name);

                    //递归
                    if (queryItem is QueryFolder)
                    {
                        TreeNode node = parentNode.Nodes[queryItem.Id.ToString()];
                        ShowQueries(queryItem as QueryFolder, node);
                    }
                }
            }

   }

3.调用递归函数

   ShowQueries(projectWithQueries.QueryHierarchy,root);

4.执行查询

   foreach (QueryItem queryItem in m_Queries)//遍历链表,根据点击的节点的ID找到相应的queryItem
   {
          if (queryItem.Id.ToString().Equals(queryId))
          {

              //执行

              QueryDefinition queryToRun = queryItem as QueryDefinition;
              WorkItemCollection workItemList = workItemStore.Query(queryToRun.QueryText, new Hashtable {{ "project", query.Project.Name}});

          }

   }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值