В сетке ExtJS У меня есть столбец, в котором, если содержимое ячейки имеет определенное значение, должна отображаться кнопка .
Я определяю столбец, который будет содержать такую кнопку, которая вызывает функцию рендеринга :
{
header: 'Payment Type',
width: 120,
sortable: true,
renderer: renderPaymentType,
dataIndex: 'paymentType'
}]
в функции рендеринга я возвращаю либо текст, либо кнопку :
function renderPaymentType(val) {
if(val!='creditInform') {
return val;
} else {
return new Ext.Button({
text: val,
width: 50,
handler: function() {
alert('pressed');
}
});
}
}
Это в основном работает, за исключением того, что кнопка отображается в виде текста [объект объекта] :
Что мне нужно сделать, чтобы кнопка отображалась как кнопка, а не как текст?
Добавление
добавление .getEl()
:
function renderPaymentType(val) {
if(val!='creditInform') {
return val;
} else {
return new Ext.Button({
text: val,
width: 50,
handler: function() {
alert('pressed');
}
}).getEl();
}
}
производит заготовку :
добавление .getEl().parentNode.innerHTML
:
function renderPaymentType(val) {
if(val!='creditInform') {
return val;
} else {
return new Ext.Button({
text: val,
width: 50,
handler: function() {
alert('pressed');
}
}).getEl().parentNode.innerHTML;
}
}
вызывает некоторую проблему рендеринга с остальным кодом, хотя в Firebug я странным образом не получаю никаких ошибок: