EXTJS中的嵌套网格

EXTJS中的嵌套网格,extjs,Extjs,嗨 如何在ExtJS中设计嵌套网格 请提供一些示例(如何在ExtJS GridPanel中使用RowExpander)如何在网格中使用RowExpander?下面是一个例子: 更多示例可从中找到,请尝试以下内容: //Create the Row Expander. var expander = new Ext.ux.grid.RowExpander({ tpl : new Ext.Template('<div id="myrow-{Id}" ></div>'

如何在ExtJS中设计嵌套网格
请提供一些示例(如何在ExtJS GridPanel中使用RowExpander)

如何在网格中使用RowExpander?下面是一个例子:


更多示例可从中找到,请尝试以下内容:

 //Create the Row Expander.
var expander = new Ext.ux.grid.RowExpander({
     tpl : new Ext.Template('<div id="myrow-{Id}" ></div>')
});

//Define the function to be called when the row is expanded.
function expandedRow(obj, record, body, rowIndex){
    //absId parameter for the http request to get the absence details.
    var absId = record.get('Id');

    var dynamicStore = //the new store for the nested grid.

    //Use Id to give each grid a unique identifier. The Id is used in the row expander tpl.
    //and in the grid.render("ID") method.
    var row = "myrow-" + record.get("Id");
    var id2 = "mygrid-" + record.get("Id");  

   //Create the nested grid.         
   var gridX = new Ext.grid.GridPanel({
        store: dynamicStore,
        stripeRows: true,
        columns: [
            //columns
        ],
        height: 120,
        id: id2                  
    });        

    //Render the grid to the row expander template(tpl).
    gridX.render(row);
    gridX.getEl().swallowEvent([ 'mouseover', 'mousedown', 'click', 'dblclick' ]);
}

//Add an expand listener to the Row Expander.
expander.on('expand', expandedRow);
//创建行扩展器。
变量扩展器=新的Ext.ux.grid.RowExpander({
tpl:新的外部模板(“”)
});
//定义行展开时要调用的函数。
函数expandedRow(对象、记录、正文、行索引){
//获取缺勤详细信息的http请求的absId参数。
var absId=record.get('Id');
var dynamicStore=//嵌套网格的新存储。
//使用Id为每个网格提供一个唯一标识符。该Id用于行扩展程序tpl。
//在grid.render(“ID”)方法中。
var row=“myrow-”+record.get(“Id”);
var id2=“mygrid-”+record.get(“Id”);
//创建嵌套网格。
var gridX=new Ext.grid.GridPanel({
商店:dynamicStore,
是的,
栏目:[
//纵队
],
身高:120,
id:id2
});        
//将网格渲染到行扩展器模板(tpl)。
gridX.render(行);
getEl()事件(['mouseover','mousedown','click','dblclick']);
}
//向行扩展器添加扩展侦听器。
expander.on('expand',expandedRow);

您可以找到有关此的更多信息

可以像其他人提到的那样做,但我建议不要这样做

原因: 由于子网格未被正确破坏而导致内存泄漏。 选择模型无法正常工作
事件会变得一团糟。

您能提供更多关于内存泄漏的信息吗?内存泄漏会发生,因为网格刷新时会在DOM中破坏网格,但附加的事件处理程序等仍然存在于JS中。这是一个具体的例子:谢谢您,MacGyver。这就是我想要的。