Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.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
Firefox IE、FF和Safari出现Extjs4拖放区错误_Firefox_Google Chrome_Drag And Drop_Extjs4_Cross Browser - Fatal编程技术网

Firefox IE、FF和Safari出现Extjs4拖放区错误

Firefox IE、FF和Safari出现Extjs4拖放区错误,firefox,google-chrome,drag-and-drop,extjs4,cross-browser,Firefox,Google Chrome,Drag And Drop,Extjs4,Cross Browser,我在一个面板中有多个网格。基本网格中包含数据,可以在彼此之间拖放。面板中的所有网格都应该能够在彼此之间拖放。这在chrome中非常有效,但在Firefox、IE或Safari中则不然 在IE、FF和Safari中,其中包含数据的网格将在彼此之间进行拖放,而不存在任何问题。它们不会在空网格之间移动。我尝试将数据添加到空网格中,但这不是问题所在。Firebug在与Extjs一起使用时也会出错,因此我得到的任何bug都来自不同的开发工具。我已经重新安装了所有这些浏览器,但这也不是答案。我被卡住了 编辑

我在一个面板中有多个网格。基本网格中包含数据,可以在彼此之间拖放。面板中的所有网格都应该能够在彼此之间拖放。这在chrome中非常有效,但在Firefox、IE或Safari中则不然

在IE、FF和Safari中,其中包含数据的网格将在彼此之间进行拖放,而不存在任何问题。它们不会在空网格之间移动。我尝试将数据添加到空网格中,但这不是问题所在。Firebug在与Extjs一起使用时也会出错,因此我得到的任何bug都来自不同的开发工具。我已经重新安装了所有这些浏览器,但这也不是答案。我被卡住了

编辑我在chrome中发现我的dragdrop组的viewconfig已设置,但在其他浏览器中未设置

这是我的基本网格,其中包含数据

var rround = "panel-game-"+round;
  var ss = Ext.create('Ext.grid.Panel', {
        stateful: true,
        id: "panel-game-"+round,
        stateId: 'stateGrid',
        autoScroll: false,
        store: store,
        columns: [
            {
                text     : 'Teams',
                flex     : 1,
                sortable : true,
                dataIndex: 'team_name'
            }
        ],
        height: 100,
        width: 150,                                                                            
        title: 'Game ' + round,                                                
        viewConfig: {
            stripeRows: true,
            plugins: {
                ptype: 'gridviewdragdrop',
                dragGroup:  [groups],
                dropGroup:  [groups]
            },
            listeners: {
                drop: function(node, data, dropRec, dropPosition,record,store) {
                    var dropOn = dropRec ? ' ' + dropPosition + ' ' + dropRec.get('name') : ' on empty view';
                    var data = this.store.data.items;
                    var sdata = new Array();
                    data.each(function(e){
                        var bleh = {team_id: e.data.team_id, team_name:e.data.team_name};
                        sdata.push(bleh);
                    })                                                                                      


                    removeDupe(sdata,this.store);
                }
            }
        }
    });
 var rCell = Ext.create('Ext.grid.Panel', {
    stateful: true,
    id: "panel-game-"+i+'-'+a,
    stateId: 'stateGrid',
    autoScroll: false,
    store: rCellStore,
    columns: [
        {
            text     : 'Teams',
            flex     : 1,
            sortable : true,
            dataIndex: 'team_name'
        }
    ],
    viewConfig: {
        plugins: {
            ptype: 'gridviewdragdrop',
            dragGroup:  [groups],
            dropGroup:  [groups]
        },
        listeners: {
            beforedrop: function(node,data,overModel,dropPosition,eOpts){
                console.log(node);
            },
            drop: function(node, data, dropRec, dropPosition, record) {
                console.log("drop");
                var dropOn = dropRec ? ' ' + dropPosition + ' ' + dropRec.get('title') : ' on empty view';
                var f = node.id.replace('-body','');
                var newval = data.records[0].data;

                if(f != undefined && f != ''){
                    var fstore = Ext.getCmp(f).getStore();
                    fstore.add(newval);
                }

                var data = this.store.data.items;
                var sdata = new Array();
                data.each(function(e){
                    var bleh = {team_id: e.data.team_id, team_name:e.data.team_name};
                    sdata.push(bleh);
                })                                                                                      


                removeDupe(sdata,this.store);


            }
        }
    },
    height: 100,
    width: 150,                                                                            
    title: 'Game ',                                                
    viewConfig: {
        stripeRows: true
    }
});
这是我的空网格,它应该接受拖放,当其中有数据时也应该拖动

var rround = "panel-game-"+round;
  var ss = Ext.create('Ext.grid.Panel', {
        stateful: true,
        id: "panel-game-"+round,
        stateId: 'stateGrid',
        autoScroll: false,
        store: store,
        columns: [
            {
                text     : 'Teams',
                flex     : 1,
                sortable : true,
                dataIndex: 'team_name'
            }
        ],
        height: 100,
        width: 150,                                                                            
        title: 'Game ' + round,                                                
        viewConfig: {
            stripeRows: true,
            plugins: {
                ptype: 'gridviewdragdrop',
                dragGroup:  [groups],
                dropGroup:  [groups]
            },
            listeners: {
                drop: function(node, data, dropRec, dropPosition,record,store) {
                    var dropOn = dropRec ? ' ' + dropPosition + ' ' + dropRec.get('name') : ' on empty view';
                    var data = this.store.data.items;
                    var sdata = new Array();
                    data.each(function(e){
                        var bleh = {team_id: e.data.team_id, team_name:e.data.team_name};
                        sdata.push(bleh);
                    })                                                                                      


                    removeDupe(sdata,this.store);
                }
            }
        }
    });
 var rCell = Ext.create('Ext.grid.Panel', {
    stateful: true,
    id: "panel-game-"+i+'-'+a,
    stateId: 'stateGrid',
    autoScroll: false,
    store: rCellStore,
    columns: [
        {
            text     : 'Teams',
            flex     : 1,
            sortable : true,
            dataIndex: 'team_name'
        }
    ],
    viewConfig: {
        plugins: {
            ptype: 'gridviewdragdrop',
            dragGroup:  [groups],
            dropGroup:  [groups]
        },
        listeners: {
            beforedrop: function(node,data,overModel,dropPosition,eOpts){
                console.log(node);
            },
            drop: function(node, data, dropRec, dropPosition, record) {
                console.log("drop");
                var dropOn = dropRec ? ' ' + dropPosition + ' ' + dropRec.get('title') : ' on empty view';
                var f = node.id.replace('-body','');
                var newval = data.records[0].data;

                if(f != undefined && f != ''){
                    var fstore = Ext.getCmp(f).getStore();
                    fstore.add(newval);
                }

                var data = this.store.data.items;
                var sdata = new Array();
                data.each(function(e){
                    var bleh = {team_id: e.data.team_id, team_name:e.data.team_name};
                    sdata.push(bleh);
                })                                                                                      


                removeDupe(sdata,this.store);


            }
        }
    },
    height: 100,
    width: 150,                                                                            
    title: 'Game ',                                                
    viewConfig: {
        stripeRows: true
    }
});

当我试图把东西拖过来时,它并没有提供一个可用的dropzone。可能是这样,但我不确定如何修复它。

问题是第二个viewConfig{stripeRows:true}。Chrome可以解决这个问题,但是其他浏览器正在用第二个覆盖第一个viewConfig