Foro

hacer form.submit de una manera distinta....

0
Yo tengo un grid, y un toolbar que contiene un boton para agregar un registro, al hacer click salta una ventana, que contiene un formulario. Me gustaria que cuando apreto el boton para guardar los datos, llame al api "create" del grid, se puede hacer eso? digo por que en el grid tengo un boton para activar o desactivar el autoguardado. Y me gustaria que todos los cambios a la base de datos se hagan mediante el JsonWriter que tengo funcionando perfectamente. Espero que alguien sepa sacarme esa duda! gracias de antemano!
0
solamente agrega el registro al store del grid, osea, en lugar de hacer el submit() al form, crea un record con la información del formulario y agregaselo al store, eso debería ser suficiente (si lo tienes configurado automáticamente). saludos
0
MM seria algo como :
       var form = Ext.getCmp('agregar-novedades-form);
       var grid = Ext.getCmp('novedades-grid');
       grid.store.add(form.getForm().getValues() );
algo asi seria? no lo probe todavia porque no estoy en casa... pero creo que con el metodo getValues te devuelve los campos del formulario en un objeto. si funcionara en ese caso automaticamente se ejecutaria el api.create
0
ants de hacer el "add" tienes que crear el "record", tipo:
var record = new TuRecord(form.getForm().getValues());
store.add(record);
y luego ese record asignarselo al store, recuerda que el "record" se define cuando se crea "reader" del store:
var Person = Ext.data.Record.create([
		{name: 'name', mapping: 'name'},
		{name: 'occupation'},
		{name: 'age', type:'float'}, 
		{name: 'gender'}
	]);
var reader = new Ext.data.JsonReader({
   totalProperty: 'total', 
   root: 'data',        
   id: 'id'            
}, Person);
0
Hola, Sólo apuntar la importancia de que definas el atributo [i]id [/i]en el [b]reader[/b], ya que este sirve para determinar el estado de la propiedad [i]phantom [/i]"fantasma" del record, el Ext considera que tiene llamar a [b]create [/b]cuando el record tiene la propiedad [i]phantom [/i]a [i]true[/i]. Si tiene la propiedad [i]phantom [/i]a [i]false [/i]y la [i]dirty [/i]a [i]true [/i]llama al [b]update[/b]. Ya nos contarás como te ha ido.

¿Conoces a alguien que pueda responder esta pregunta? Comparte el link en Twitter o Facebook

Es necesario registrarse para poder participar en el foro! Si ya tienes una cuenta puedes entrar y comentar en este foro.