I've got a GridPanel. It works great, and I can add a record to the grid/store aspects of the object.

But here's my problem, and I'm convinced it has nothing to do with my grid and everything to do with my store (which happens to be the normal Ext.data.Store). I've got a quantity field (int data type) and a cost field (float data type) among others. When I insert a new record with quantity=1 and cost=4.75 weird things happen.

Code:
//this = the grid
//newrecord = the record I'm inserting
 
var destFields = this.store.fields.items;
var destData = new Array();
for(var i=0, len=destFields.length; i<len; i++) {
   destData[destFields[i].name] = newrecord.data[destFields[i].name];
}
var rec = new createdRecord(destData);

console.log('store.insert [console a]: ',destData['cost'], rec.data.cost); //echos: "store.insert [console a]: 4.75 4.75
this.store.insert(insertIndex,rec);
console.log('store.insert [console b]: ',destData['cost'],  rec.data.cost);//echos: "store.insert  [console b]: 9.5 9.5
console.log('store.data: ',this.store.data[8].cost);//echos: "store.data: 9.5
anybody have any idea why calling this.store.insert() would change the value of rec.data.cost but also destData['cost'] and more importantly the data being placed into the store? This is a really odd bug.

- cnesbit