2017-07-19 3 views
0

に、私は以下のようなカスタム列を作成することができません:「rallytreegrid」内のカスタム(仮想)フィールドを作成することが、私は「rallygrid」を使用している場合は「rallygrid」

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 
} 

私はこれを行うと、私の「カスタムバリュー」は私がしたいことをします。やめ!私は以下のような「rallytreegrid」でこれを置き換える場合

しかしは、それエラー:

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 

「カスタム値」フィールドを削除した場合、それは大きく機能します。

私は間違っていますか?

答えて

1

私はあなたのために良い答えがあることを望みます - これはバグのようです。幸い、回避するのは簡単です。列のxtypeを追加するだけです。通常のグリッドは正しくデフォルト設定されている必要がありますが、ツリーグリッドは正しくありません。

{ 
    xtype: 'gridcolumn', 
    text: 'Custom Value', 
    renderer: function(value, meta, record) { 
     return 'rendered output goes here'; 
    } 
} 
+0

パーフェクト。私は夢中になっていたと思っていましたが、そのことに感謝します。簡単な回避策。私はそれを考えていたはずです。 – user1910714

関連する問題