PDA

View Full Version : problem creating a new record and updating a new record in a store



sajan
23 Aug 2011, 2:35 AM
Dear All,
I am facing one problem.
I want to add new record to my existing store and also want to modify some records in the store. but I am not able to my code is


var RecToUp = Ext.getCmp("transGridId").getStore().recordType;
var r = new RecToUp({
T10F2: this.Trans_key,
T6F2: this.NameKey,
});
r.commit();
store.add(r);
store.commitChanges();

but it is saying RecTOUp is not a constructor.
So please help me what is wrong here
thanks

jay@moduscreate.com
23 Aug 2011, 11:59 AM
try using Ext.getCmp("transGridId").getStore().model.create();

sajan
23 Aug 2011, 12:32 PM
Thanks,
I tried but it also didnot work.
Still showing the same error
Please help me out

thanks

skirtle
23 Aug 2011, 9:24 PM
Which version of ExtJS are you using?

sajan
23 Aug 2011, 9:33 PM
I am doing everything with ext designer

the ext version is ext-4.0.2a.
I also tried

var ObjectRecordType = Ext.data.Record.create(['T10F2', 'T6F2' ]); var rec = new ObjectRecordType({
T10F2: thisTrans_key,
T6F2: "ram"});

Ext.getCmp("transGridId").store.add(rec);


but this is also not working.
I dont want to reload my store all the time to refresh the grid so please do helo me



thanks

skirtle
23 Aug 2011, 9:52 PM
Please indent your code so that it is readable before you post it.

You don't need to create the record yourself. You can just do something like this:


Ext.getCmp("transGridId").getStore().add({
T10F2: this.Trans_key,
T6F2: this.NameKey
});

It will create the record for you from the model.

sajan
23 Aug 2011, 10:05 PM
Hi,
I think it created the record but it is still not updating the grid.
Please help me out

thanks

skirtle
23 Aug 2011, 10:17 PM
How are you checking that the record has been added?

Are there any error messages?

Do the fields in the data map properly onto the fields in the model? Note that they will not be run through the reader.

Can you post the configs for your model, store, grid, etc.? Even better, a complete, minimal test case would be ideal.

Can you confirm you're having this problem in multiple browsers?

sajan
23 Aug 2011, 10:23 PM
Sorry My mistake,
Now it is adding record in the store + the grid
but it is adding at the end of the grid,
is it possible to add it as first record on the grid (I mean in the first position)
That will be really nice
if it can be done thanks

skirtle
23 Aug 2011, 10:29 PM
Use insert() with an index of 0 instead of add().

http://docs.sencha.com/ext-js/4-0/#!/api/Ext.data.Store-method-insert

ValterBorges
24 Aug 2011, 11:25 AM
If the store is attached to a proxy you will likely need to call synch().
The record should also be valid.