Rally.data.custom.Store是否具有神奇的唯一性?

Rally.data.custom.Store是否具有神奇的唯一性?,rally,appsdk2,Rally,Appsdk2,我创建了一个自定义应用程序(使用回溯查询),该应用程序可以找到在过去N天内被阻止的所有项目。它显示基本的故事/缺陷数据,以及“阻塞”的持续时间和原因。可悲的是,一些报道不止一次被屏蔽 我想在我的显示网格中为每个故事ID和阻止原因的组合显示一行。然而,我无法让它工作-它顽固地显示每个id只有一行(例如US1243)。经过无休止的调试,我发现我必须更改自定义数据存储中某个字段的名称。我曾经有过这样的经历: // inside a loop var data = { id : formatte

我创建了一个自定义应用程序(使用回溯查询),该应用程序可以找到在过去N天内被阻止的所有项目。它显示基本的故事/缺陷数据,以及“阻塞”的持续时间和原因。可悲的是,一些报道不止一次被屏蔽

我想在我的显示网格中为每个故事ID和阻止原因的组合显示一行。然而,我无法让它工作-它顽固地显示每个id只有一行(例如US1243)。经过无休止的调试,我发现我必须更改自定义数据存储中某个字段的名称。我曾经有过这样的经历:

// inside a loop
var data = {
    id : formattedID,
    name : name,
    planEstimate : size,
    reason : reason,
    duration : roundedDuration
};

list.push(data);

// later...
var myStore = Ext.create("Rally.data.custom.Store", {
    data : list,
    pageSize : 100
});

// and of course I use this as the store for a rally grid
为了让它显示“list”数组中的所有数据,我只需将“data”对象更改为如下内容:

var data = {
    value : formattedID,
    name : name,
    planEstimate : size,
    reason : reason,
    duration : roundedDuration
};
(注意将“id”替换为“value”。当然,我还必须更改网格中的“dataIndex”引用。)

我搜索了又搜索,但没有找到解释为什么它将“id”属性解释为需要唯一。是数据存储本身吗?网格?我已经花了半天的时间调试它了,我没有精力去追踪它


是否有任何Rally App SDK文档可以解释这一点?

这实际上是从Ext继承的一种微妙行为。商店中的所有记录都应该具有唯一的ID。默认ID字段为“ID”,这就是为什么在第一个示例中,每个id只能获得一行,因为商店中的每个项目都将覆盖具有相同id的任何现有项目。第二个示例之所以有效,是因为没有指定id,所以Ext将自动生成唯一的id