Поместить FormPanel внутри RowExpander? - PullRequest
3 голосов
/ 01 июня 2011

Есть ли способ, как я могу построить FormPanel в RowExpander на сетке?Я хотел бы создать формы extjs в каждой строке, но сейчас я ограничен указанием шаблона, который должен быть HTML.

То есть у меня есть это:

var expander = new Ext.ux.grid.RowExpander({
    enableCaching: false,
    tpl : new Ext.Template($('#row-expander-template').html())
});

Как мне изменить это, чтобы использовать Ext JS Forms в строках?

Ответы [ 2 ]

1 голос
/ 17 июня 2011

Веселый взлом:

Используйте временный элемент в качестве шаблона, а в событии расширения визуализируйте форму во временный элемент, а затем удалите ее из DOM.

0 голосов
/ 13 июня 2011

Я не пробовал этого, но, глядя на источник RowExpander, кажется, что возможный способ сделать это - отобразить FormPanel в расширенном теле строки внутри обработчика события расширения RowExpander.

Однако вам также нужно очистить FormPanel, когда представление обновится. Эта часть сложнее. Я думаю, вы могли бы перехватить событие beforerefresh представления сетки, чтобы уничтожить все экземпляры FormPanel. Однако это не сработает с представлением с буферизованной сеткой, а также означает, что любой вид обновления представления убивает все, что вы делали в FormPanels.

...