我正在创建一个rallygrid
组件,并且希望将网格项目按其父级Name
属性分组(如果我还可以显示父级的ID,则可以获得奖励)。我将groupBy:'Parent'
配置添加到网格的storeConfig
,并且对未返回任何结果感到惊讶。我也尝试使用groupBy:'Parent.Name'
,但仍然没有。
我知道这可以和所有者等其他领域一起使用,但我不知道为什么父母也不能使用。这是一个错误,还是我错误地设置了配置?
由于
答案 0 :(得分: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');
}
答案 1 :(得分:0)
我认为它也是SDK的一个错误,但是对于WS API documentation,Parent,与Owner不同,或者Feature不可排序。
因此,当我使用groupField: 'Parent'
时,网格为空,响应显示错误:
Ext.data.JsonP.callback6({"QueryResult": {..., "Errors": ["Cannot sort using attribute Parent"]
它尝试按Parent排序,但Parent属性不可排序。因此SDK遇到了WS API限制。
在旁注中,我没有使用groupBy
,而是在商店使用groupField
(in this example我按看板字段分组):
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'}],
//...