패널에 여러 개의 격자가 있습니다. 기본 모눈에는 데이터가 있으며 서로 끌어서 놓을 수 있습니다. 패널의 모든 그리드는 서로 끌어서 놓을 수 있어야합니다. 이 기능은 Chrome에서는 완벽하게 작동하지만 Firefox, IE 또는 Safari에서는 작동하지 않습니다.IE, FF 및 Safari에서 Extjs4 끌어서 놓기 영역 오류가 발생했습니다.
IE, FF 및 Safari에서는 데이터가 포함 된 표가 서로간에 드래그 앤 드롭됩니다. 그들은 빈 그리드 사이에 있지 않습니다. 빈 그리드에 데이터를 추가하려고 시도했지만 문제가 아닙니다. Firebug는 Extj와 함께 사용할 때 오류가 발생하므로 다른 버그 도구를 사용하면 버그가 발생합니다. 그 브라우저를 모두 다시 설치했는데 그 중 하나도 대답이 아닙니다. 내 끌어서 놓기 그룹에 대한 크롬의 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
}
});
뭔가를 드래그하려고 할 때 드롭 존을 사용할 수 없습니다. 그것일지도 모르지만 그것을 고치는 법을 모르겠다.