如果我使用'拉力赛网'我可以创建如下所示的自定义列:
xtype: 'rallygrid',
columnCfgs: [
'FormattedID',
'Name',
{
text: 'Custom Value',
renderer: function(value, meta, record) {
return myArray[record.data.FormattedID].myValue;
}
}],
context: this.getContext(),
enableBulkEdit: true,
showRowActionsColumn: true,
storeConfig: {
model: 'PortfolioItem/Feature',
pageSize: 25
}
当我这样做时,我的自定义价值'做我想要的。万岁!!
但是,如果我将其替换为'拉力赛网格'如下所示,它错误:
Ext.create('Rally.data.wsapi.TreeStoreBuilder').build({
models: ['portfolioItem/feature'],
autoLoad: true,
enableHierarchy: true
}).then({
success: this._onStoreBuilt,
scope: this
});
_onStoreBuilt: function(store) {
this.add({
xtype: 'rallytreegrid',
store: store,
context: this.getContext(),
enableEditing: true,
shouldShowRowActionsColumn: true,
enableBulkEdit: true,
enableRanking: false,
columnCfgs: [
'FormattedID',
'Name',
{ text: 'Custom Value' }
]
});
}
因为这'自定义价值'字段我得到错误,即使有或没有渲染器部分。
Error: success callback for Deferred transformed result of Deferred transformed result of Deferred transformed result of Deferred threw: TypeError: Unable to get property 'substring' of undefined or null reference
如果我删除了'自定义价值'它很有效。
我做错了什么,拜托?
答案 0 :(得分:1)
我希望我有一个很好的答案 - 这似乎是一个错误。幸运的是,解决方法很简单 - 您只需要为列添加xtype。规则网格必须正确默认,而树网格不是。
{
xtype: 'gridcolumn',
text: 'Custom Value',
renderer: function(value, meta, record) {
return 'rendered output goes here';
}
}