问题描述
|
有没有办法在网格上的RowExpander中构建FormPanel?我想在每一行中创建extjs表单,但是现在我仅限于指定必须为HTML的模板。
也就是说,我有这个:
var expander = new Ext.ux.grid.RowExpander({
enableCaching: false,tpl : new Ext.Template($(\'#row-expander-template\').html())
});
如何修改它以在行内使用Ext JS表单?
解决方法
搞笑黑客:
使用临时元素作为模板,并在扩展事件上,将表单呈现为临时元素,然后将其从DOM中删除。
, 我还没有尝试过,但是查看RowExpander的源代码,似乎可行的方法是将FormPanel渲染到RowExpander的expand事件处理程序内的扩展行正文中。
但是,刷新视图后,还需要清理FormPanel。这部分比较棘手。我认为您可能会钩住网格视图的beforerefresh事件,以销毁所有FormPanel实例。但是,这不适用于缓冲的网格视图,这还意味着任何类型的视图刷新都将杀死您在FormPanels中所做的所有操作。