Rally.data.custom.Store有魔术独特性吗?

时间:2014-03-11 19:29:13

标签: rally appsdk2

我创建了一个自定义应用(使用Lookback查询),找到了在过去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

要让它显示"列表中的所有数据"数组,我只需要改变我的数据"反对这样的事情:

var data = {
    value : formattedID,
    name : name,
    planEstimate : size,
    reason : reason,
    duration : roundedDuration
};

(注意替换" id"用"值"。当然,我必须更改网格中的" dataIndex"引用。)

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

是否有可以解释此问题的Rally App SDK文档?

1 个答案:

答案 0 :(得分:0)

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