将 FormPanel 放入 RowExpander?
Posted
技术标签:
【中文标题】将 FormPanel 放入 RowExpander?【英文标题】:Putting a FormPanel inside a RowExpander? 【发布时间】:2011-05-31 20:13:35 【问题描述】:有没有一种方法可以在网格上的 RowExpander 内构建 FormPanel?我想在每一行中创建 extjs 表单,但现在我仅限于指定必须是 html 的模板。
也就是说,我有这个:
var expander = new Ext.ux.grid.RowExpander(
enableCaching: false,
tpl : new Ext.Template($('#row-expander-template').html())
);
如何修改它以在行中使用 Ext JS 表单?
【问题讨论】:
【参考方案1】:搞笑的黑客:
使用临时元素作为模板,在展开事件时,将表单渲染到临时元素,然后将其从 DOM 中移除。
【讨论】:
【参考方案2】:我还没有尝试过,但是查看 RowExpander 的来源,似乎一种可能的方法是将 FormPanel 渲染到 RowExpander 的展开事件处理程序内的展开行体。
但是,您还需要在刷新视图时清理 FormPanel。那部分比较棘手。我认为您可能会挂钩网格视图的 beforerefresh 事件以销毁所有 FormPanel 实例。但是,这不适用于缓冲网格视图,这也意味着任何类型的视图刷新都会杀死您在 FormPanels 中所做的任何事情。
【讨论】:
以上是关于将 FormPanel 放入 RowExpander?的主要内容,如果未能解决你的问题,请参考以下文章
sencha touch:如何构建可编辑的 FormPanel
Ext.Net学习笔记20:Ext.Net FormPanel 复杂用法
Ext.Net学习笔记19:Ext.Net FormPanel 简单用法