#extjs #extjs4.2
#extjs #extjs4.2
Вопрос:
Я использую a propertyGrid
для построения табличного файла. Когда я использую a renderer
для возврата текстового поля, я не могу щелкнуть и ввести это текстовое поле. Он не получает никакого фокуса. Есть способ это исправить? Кроме того, есть ли способ отобразить элемент ExtJS вместо необработанного HTML-элемента из средства визуализации?
Ответ №1:
В grid средства визуализации столбцов возвращают только текст HTML, поэтому невозможно вернуть компоненты напрямую. Единственное, что нужно, это присвоить ячейке уникальный идентификатор и отложить фактическое создание компонента.
{
header: 'Row7',
align: 'center',
renderer: renderCmp,
dataIndex: 'cmpname',
width: 100
}
// Renderer function
function renderCmp(value, id, r)
{
var id = Ext.id();
if (r.data.cmpname )
{
createGridButton.defer(10, this, ['One', id, r]);
return('amp;<div id="' id '"amp;>amp;</divamp;>');
}else
{
createGridButton.defer(10, this, ['Two', id, r]);
return('amp;<div id="' id '"amp;>amp;</divamp;>');
}
}
function createGridButton(value, id, record) {
new Ext.Button({
text: value,
iconCls: 'my-icon',
handler : function(btn, e) {
alert('Componet in Row');
}
}).render(document.body, id);
}
Надеюсь, это вам поможет..
Комментарии:
1. Размещать ссылки на похоть плохо. Если ссылка оборвалась, ваш ответ бесполезен. Я удалю свой отрицательный голос, если вы это исправите.
2. Спасибо за это. Я постараюсь не публиковать никаких ссылок в своих ответах .. приветствия 🙂