【问题标题】:Wsapi data store queryWsapi 数据存储查询
【发布时间】:2013-10-29 20:21:15
【问题描述】:

我希望使用 Rally SDK 2.0rc1 中的 Wsapi 数据存储查询来获取选定项目(即整个子项目分支)下的所有项目。是否可以使用查询递归获取所有子项目名称?还是我必须编写一个单独的递归函数来获取该信息?如果需要单独的递归函数,我应该如何将该数据填充到例如组合框中?我是否需要创建一个单独的数据存储并将递归函数中的数据推送到其中,然后将 Combobox 的存储链接到它?

另外,如何在 Rally SDK 2.0rc1 中获取“当前工作区名称”(我在 Rally 中工作的工作区)?

【问题讨论】:

    标签: rally


    【解决方案1】:

    使用“context”配置选项指定从哪个项目级别开始,并添加“projectScopeDown”以确保返回子项目。看起来像这样:

    Ext.create('Rally.data.WsapiDataStore', {
        limit : Infinity,
        model : 'Project',      
        fetch : ['Name','ObjectID'],
        context : {
            project : '/project/' + PROJECT_OID,
            projectScopeDown : true
        }
    }).load({
        callback: function(store) {
            //Use project store data here
        }
    });
    

    要获取您当前的上下文数据,请使用:this.getContext()

    var workspace = this.getContext().getWorkspace();
    var project = this.getContext().getProject();
    

    【讨论】:

    • 这是我当前的代码(组合框返回 0 个结果不正确),pastebin.ubuntu.com/6327076。我在拉力赛中尝试了您的代码,但它并没有缩小到我当前选择的项目。我也试过写context: this.getContext(),但这也行不通。
    • @nickm,我也试过用这个,pastebin.ubuntu.com/6330138。这一次,我得到了所有项目和工作区,在这种情况下似乎上下文没有做任何事情。
    【解决方案2】:

    如果您尝试使用 console.log 公开 this.getContext().getWorkspace() 和 this.getContext().getProject() 您可能会更好地理解返回的内容和需要的内容。在我的一个案例中,我不得不使用 this.getContext().getProject().project。 使用控制台调试语句是根据其使用情况确定所需内容的最佳方式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-06-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多