Extjs 从阵列中删除要插入网格的对象拖放
您好,我有两个网格,我通过拖放将记录从第一个网格(带有字段id、作者、价格的书籍)传输到第二个网格(带有字段id、作者、价格、新价格的折扣),所有这些都很好,但我想要下一个:当我从网格(书籍)拖动记录并拖放到带有相同字段“id”(这两个表中)的网格(折扣)记录时未插入网格(折扣)。我有一个对象数组,如何使表(折扣)中已存在的具有“id”的记录不被插入。 我很高兴:Extjs 从阵列中删除要插入网格的对象拖放,extjs,drag-and-drop,Extjs,Drag And Drop,您好,我有两个网格,我通过拖放将记录从第一个网格(带有字段id、作者、价格的书籍)传输到第二个网格(带有字段id、作者、价格、新价格的折扣),所有这些都很好,但我想要下一个:当我从网格(书籍)拖动记录并拖放到带有相同字段“id”(这两个表中)的网格(折扣)记录时未插入网格(折扣)。我有一个对象数组,如何使表(折扣)中已存在的具有“id”的记录不被插入。 我很高兴: listeners: {beforeDrop: function(node, data, overModel, dropPosit
listeners: {beforeDrop: function(node, data, overModel, dropPosition, dropHandlers) {}
但是你在那里写了什么?谢谢在您的目标网格
viewconfig
中,您可以为事件定义侦听器。在这个侦听器中,您可以获取被拖动记录的id,并检查该id是否不在数组中
数组定义:
var forbidenIds = [2, 3];
目标网格视图配置:
viewConfig: {
plugins: {
ptype: 'gridviewdragdrop',
dropGroup: 'group1',
},
listeners: {
beforedrop: function(node, data) {
// get id of dragged record
var recordId = data.records[0].getId();
// search for record id in array
var index = Ext.Array.indexOf(forbidenIds, recordId);
return index === -1 ? true : false;
}
}
},
例如:这将对单个记录有效,但我允许用户选择多个记录,在这种情况下,其中一些记录存在于禁止列表中,而另一些不存在于此列表中。如果你知道如何处理多重选择,那么请告诉我。