Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Extjs 选择子网格中的行将选择父网格中具有相同行索引的行_Extjs - Fatal编程技术网

Extjs 选择子网格中的行将选择父网格中具有相同行索引的行

Extjs 选择子网格中的行将选择父网格中具有相同行索引的行,extjs,Extjs,我已经在Rowexpander插件中实现了嵌套网格。现在的问题是,当我选择子网格的任何第n行时,父网格的第n行也会被选中。我认为这是因为两者都有相同的行索引。即使我在子网格行上鼠标悬停,也会同时为父网格显示相同的鼠标悬停效果 下面是Rowexpander的代码 var expander = new Ext.ux.grid.RowExpander({ expandOnDblClick : false, tpl : new Ext.Template

我已经在Rowexpander插件中实现了嵌套网格。现在的问题是,当我选择子网格的任何第n行时,父网格的第n行也会被选中。我认为这是因为两者都有相同的行索引。即使我在子网格行上鼠标悬停,也会同时为父网格显示相同的鼠标悬停效果

下面是Rowexpander的代码

var expander = new Ext.ux.grid.RowExpander({
             expandOnDblClick : false,
             tpl : new Ext.Template('<div id="NestedGridRow-{id}"></div>'),

             renderer: function(v, p, record) {
                    if (record.get('cmaStatus') == 'G') {
                        p.cellAttr = 'rowspan="2"';
                        return '<div class="x-grid3-row-expander"></div>';
                    } 
        },


        });



        expander.on('expand', expandedRow);

        function expandedRow(obj, record, body, rowIndex){
            //absId parameter for the http request to get the absence details.


            //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 = "NestedGridRow-" + record.get("id");
            var id2 = "mygrid-" +record.get("id"); 

            sapid_para = record.get('sapid');
           //Create the nested grid.         
           var gridX = new Ext.grid.GridPanel({
               id:'nestedGrid',
                store: storenested,
                //stripeRows: true,
                columns: [


                    {
                        header : "CMA Date",
                        width : 120,
                        sortable : true,
                        dataIndex : 'cmaDate',

                    },
                    {
                        header : "Source Model",
                        width : 120,
                        sortable : true,
                        dataIndex : 'sourceModel',

                    },

                    {
                        header : "Remarks",
                        width : 390,
                        sortable : true,
                        dataIndex : 'remarks',

                    }],
            height: 120,
            id: id2,
            plugins : [editor],
            renderTo: row,
            stripeRows:true,
            listeners: {
                render: function(gridX) {
                    gridX.getView().el.select('.x-grid3-header').setStyle('display', 'none');
                },

                rowclick : function(grid,rowIndex,e) {
                    alert(rowIndex);                                       
                    }


                },

                            });  
            gridX.render(row);


            //Ext.getCmp('grid_lineage').getStore().load({params:{start:0, limit:10}});
            storenested.load({params:{start:0, limit:10}});
var expander=new Ext.ux.grid.RowExpander({
expandOnDblClick:false,
tpl:新的外部模板(“”),
渲染器:函数(v、p、记录){
if(record.get('cmaStatus')=='G'){
p、 cellAttr='行span=“2”';
返回“”;
} 
},
});
expander.on('expand',expandedRow);
函数expandedRow(对象、记录、正文、行索引){
//获取缺勤详细信息的http请求的absId参数。
//使用Id为每个网格提供一个唯一标识符。该Id用于行扩展程序tpl。
//在grid.render(“ID”)方法中。
var row=“NestedGridRow-”+record.get(“id”);
var id2=“mygrid-”+record.get(“id”);
sapid_para=record.get('sapid');
//创建嵌套网格。
var gridX=new Ext.grid.GridPanel({
id:'nestedGrid',
store:storenested,
//是的,
栏目:[
{
标题:“CMA日期”,
宽度:120,
可排序:是的,
数据索引:“cmaDate”,
},
{
标题:“源模型”,
宽度:120,
可排序:是的,
dataIndex:'sourceModel',
},
{
标题:“备注”,
宽度:390,
可排序:是的,
数据索引:“备注”,
}],
身高:120,
id:id2,
插件:[编辑器],
伦德托:罗,
是的,
听众:{
渲染:函数(gridX){
gridX.getView().el.select('.x-grid3-header').setStyle('display','none');
},
行单击:函数(网格、行索引、e){
警报(行索引);
}
},
});  
gridX.render(行);
//Ext.getCmp('grid_沿袭').getStore().load({params:{start:0,limit:10}});
load({params:{start:0,limit:10}});

请帮助

我也遇到了同样的问题。您需要获取嵌套网格的句柄,并将其称为:

gridX.getEl().swallowEvent(['mouseover', 'mousedown', 'click', 'dblclick', 'onRowFocus']);

我和你遇到了同样的问题!你有没有发现解决方法?