1

我正在创建一个rallygrid组件,并希望将网格项按其父Name属性分组(如果我还可以显示父项的 ID,则可以加分)。我将groupBy:'Parent'配置添加到storeConfig网格中,很惊讶没有返回任何结果。我也尝试使用groupBy:'Parent.Name'但仍然没有。

我知道这在 Owner 等其他领域是可能的,但我不知道为什么 Parent 也不能​​使用。这是一个错误,还是我设置的配置不正确?

谢谢

4

2 回答 2

1

更改storeConfig以防止记录在分组后尝试更新:

storeConfig : {
    remoteSort   : false,
    remoteGroup  : false,
    remoteFilter : false,
}

向事件添加一个侦听器,该load事件将根级别属性分配给记录并按该记录值分组。(由于某种原因store.group('Parent.Name');不起作用。)

load: function(store) {
    store.each(function(record) {
        record.set('ParentName', record.get('Parent') && record.get('Parent').Name || '-- Unparented --');
    });

    store.group('ParentName');
}
于 2014-04-15T20:30:46.127 回答
0

我认为这也是 SDK 的错误,但根据WS API 文档,父级,与所有者不同,或者功能不可排序。

所以当我使用groupField: 'Parent'网格为空时,响应显示错误:

Ext.data.JsonP.callback6({"QueryResult": {..., "Errors": ["Cannot sort using attribute Parent"]

它正在尝试按父排序,但父属性不可排序。因此 SDK 遇到了 WS API 限制。

附带说明一下,我没有使用groupBy,而是groupField在商店中使用(在此示例中,我按看板字段分组):

var myStore = Ext.create('Rally.data.WsapiDataStore',{
        model: 'UserStory',
        groupField: 'c_MyKB',
        //...
    });

再用特征:[{ftype:'grouping'}]在网格中。

this._myGrid = Ext.create('Ext.grid.Panel', {
        store: myStore,
        features: [{ftype:'grouping'}],
                //...
于 2014-04-15T16:52:37.520 回答