列でレンダラーを実行するグリッドがありますが、何も表示せず、レコードを再調整しません。
ビュー
Ext.define('Ab.view.maquina.MaquinaList', {
extend: 'Ext.grid.Panel',
alias: 'widget.maquinalist',
store: 'Maquinas',
tbar: [
{ text: _('Agregar'), action:'add'},
{ text: _('Editar'), action: 'upd'},
{ text: _('Eliminar'), action: 'del'}
],
columns: [
{ text: _('Nombre'), flex: 1, dataIndex: 'nombre' },
{ text: _('Estado'), flex: 1, dataIndex: 'estado'},
{ text: _('Marca'), flex: 1, dataIndex: 'codigo', renderer: function(value, record){this.renderMarca(value, record)}}
],
renderMarca: function(value,record){
console.log(value); < show value
console.log(record.get('nombre')); < error
return value; < don't show value on the column
}
});
ありがとう
レンダラー関数には、使用しようとしているパラメーターとは異なるパラメーターがあるため、レコードはそこで正しく記録されていません。 http://docs.sencha.com/ext-js/4-1/#!/api/Ext.grid.column.Column-cfg-renderer から:
renderer: function (value, metaData, record, row, col, store, gridView) {
また、レンダラー内から値を返していません。これにより、次の2つの問題が修正されます。
{
text: _('Marca'),
flex: 1,
dataIndex: 'codigo',
renderer: function(value, metaData, record, row, col, store, gridView){
return this.renderMarca(value, record);
}
}