2015-11-19 54 views
0

我想创建一个可导出到CSV网格应用程序的拉力来显示依赖关系。但我没有得到我期望的使用商店的SDK 2的结果。我发现了一个旧版SDK 1应用程序,它返回了我正在查找的内容。在SDK中的拉力赛查询1 vs在SDK中的商店2

我不知道我需要做什么让前辈展示。我所得到的只是数据对象中商店的计数。我经历过很多次文档,并且被卡住了。

var dependencydata = Ext.create('Rally.data.wsapi.Store', { 
 
    model: 'hierarchicalrequirement', 
 
    autoLoad: true, 
 
    
 
     listeners: { 
 
     load: function(dependencydata, data, success) { 
 
      //process data 
 
      console.log("Woot Data !",dependencydata, data, success); 
 
      this.loadgrid(dependencydata); 
 
     }, 
 
     scope: this 
 
    }, 
 
    fetch: ['Rank','FormattedID','Name','Predecessors','Successors','Project','ScheduleState'] 
 
});//end Store

结果是

数据

FormatId 12345

布拉赫

前身

计数2

我需要的是

数据

FormatId 12345

胡说

前身

object 

    Array 

    FormatId 45637 

在SDK 1它会一直做这样的我想

var queryConfig = { 
 
        type : 'hierarchicalrequirement', 
 
        key : 'stories', 
 
        fetch: 'Rank,FormattedID,Name,Predecessors,Successors,Project,ScheduleState', 
 
        query: '(Release.Name = "' + relDropdown.getSelectedName() + '")', 
 
        order: 'Rank' 
 
       }; 
 
       rallyDataSource.findAll(queryConfig, showUserStoriesTable); 
 
      } 
 
    
的WSAPI

回答

1

2.0其中使用由SDK 2不允许水合集合在一个请求等V1.0那样。

幸运的是,有在处理这个确切的主题文档指南: https://help.rallydev.com/apps/2.0/doc/#!/guide/collections_in_v2

你的情况稍微复杂一些,因为你需要加载2个集合每个故事(前辈和接班人)

所以这样的事情应该工作:

//keep track of all the pending collection loads 
var promises = []; 

Ext.create('Rally.data.wsapi.Store', { 
    model: 'UserStory', 
    fetch: ['Rank','FormattedID','Name','Predecessors','Successors','Project','ScheduleState'], 
    autoLoad: true, 
    listeners: { 
     load: function(store, records) {    
      _.each(records, function(story) { 
       //create the stores to load the collections 
       story.predecessorStore = story.getCollection('Predecessors'); 
       story.successorStore = story.getCollection('Successors'); 

       //load the stores and keep track of the load operations 
       promises.push(predecessorStore.load({fetch: ['FormattedID']})); 
       promises.push(successorStore.load({fetch: ['FormattedID']})); 
      }); 

      //wait for all promises to finish 
      Deft.Promise.all(promises).then({ 
       success: function() { 
        //all data loaded. 
        console.log(records[0].predecessorStore.getRange()); 
        console.log(records[0].successorStore.getRange()); 
       } 
      }); 
     } 
    } 
}); 

注意这将产生一吨的请求,所以最好限制在通过FIL根店的故事总数TER值。

+0

谢谢,我会稍后再试试这个晚上。猜猜我不应该尝试从树的顶端拉36000 +故事的顶部故事的整个集合:-) – Scrummando

+0

感谢您的帮助,我已经能够得到这个与上面的代码一起工作。现在我正在努力将此传递给网格。我需要我想,将需要拼接记录[0]与记录[0] .predecessor显示在一行。在网格上。 – Scrummando

+0

您需要使用具有渲染器功能的自定义列定义。因此,将这样的内容传递给网格中的columnCfgs: {dataIndex:'Successors',text:'Dependencies',renderer:function(value,metaData,record){//使用record.predecessorStore和record.successorStore返回您希望在单元格中显示的HTML}} –

相关问题