我正在创建一个rallygrid
组件,并希望将网格项按其父Name
属性分组(如果我还可以显示父项的 ID,则可以加分)。我将groupBy:'Parent'
配置添加到storeConfig
网格中,很惊讶没有返回任何结果。我也尝试使用groupBy:'Parent.Name'
但仍然没有。
我知道这在 Owner 等其他领域是可能的,但我不知道为什么 Parent 也不能使用。这是一个错误,还是我设置的配置不正确?
谢谢
更改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');
}
我认为这也是 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'}],
//...