Extjs4 - 数据存储重复记录。可能吗?

时间:2012-05-16 11:21:00

标签: extjs extjs4 duplicates store records

是否可以在数据存储中添加重复记录?

var myData = [
{ id : 0, name : "Rec 0", column1 : "0", column2 : "0" },
{ id : 1, name : "Rec 1", column1 : "1", column2 : "1" },
{ id : 2, name : "Rec 2", column1 : "2", column2 : "2" },
{ id : 3, name : "Rec 3", column1 : "3", column2 : "3" },
{ id : 4, name : "Rec 4", column1 : "4", column2 : "4" },
{ id : 5, name : "Rec 5", column1 : "5", column2 : "5" },
{ id : 6, name : "Rec 6", column1 : "6", column2 : "6" },
{ id : 7, name : "Rec 7", column1 : "7", column2 : "7" },
{ id : 8, name : "Rec 8", column1 : "8", column2 : "8" },
{ id : 9, name : "Rec 9", column1 : "9", column2 : "9" }
];


var origine = new Ext.data.Store({
        //autoDestroy: true,
        storeid: 'origineRec',
        id:'origineRec',
        //model: 'DataObject',
        //idIndex: 0,
        fields: ['id','name','column1 ','column2 '],
        data: myData 
});

var destinazione = new Ext.data.Store({
        //autoDestroy: true,
        storeid: 'destinazioneRec',
        id:'destinazioneRec',
        //idIndex: 0,
        fields: ['id','name','column1 ','column1 ']
});

我有这样的情况,两个网格面板,两个商店,我要拖动一条记录并放入“destinazione”,并且可能允许重复记录。

我在第二个网格中添加重复记录(Rec 0 - Rec 0),但在保存到网格后只有一个记录。

我该如何解决?感谢

1 个答案:

答案 0 :(得分:2)

默认情况下,id属性是主键,并且您在商店中使用相同的键不能有多条记录。您可以通过将idProperty指定为其他内容来更改主要内容,但无论如何它都无法解决您的问题。

如果您有两个商店并将记录从一个商店移动到另一个商店 - 那么最好从原始商店中过滤掉已经选择的记录,甚至将其删除。