Ver Mensaje Individual
  #4 (permalink)  
Antiguo 15/11/2011, 08:23
partusano
 
Fecha de Ingreso: noviembre-2011
Mensajes: 4
Antigüedad: 13 años
Puntos: 0
Respuesta: Jqgrid Guardar cambios en la base de datos

Hola,
mira el problema que tienes es que cuando envias la informacion para editar, no la estas recibiendo en ninguna parte.
la pagina que recibe los datos de editar, se define en - editurl:"someurl.php", -
esa someurl.php es la que recibe los datos por GET o POST segun lo tengas definido en el colModel con mtype.

en tu ejemplo defines los siguientes campos como editables

{name:'invdate',index:'invdate', width:80,editable:true,editoptions:{size:10}},
{name:'name',index:'name', width:90,editable:true,editoptions:{size:25}},
{name:'amount',index:'amount', width:60, align:"right",editable:true,editoptions:{size:10}},
{name:'tax',index:'tax', width:60, align:"right",editable:true,editoptions:{size:10}},
{name:'total',index:'total', width:60,align:"right",editable:true,editoptions:{size:10}},
{name:'closed',index:'closed',width:55,align:'cent er',editable:true,edittype:"checkbox",editoptions:{value:"Yes:No"}} ,
{name:'ship_via',index:'ship_via',width:70, editable: true,edittype:"select",editoptions:{value:"FE:FedEx;TN :TNT"}},
{name:'note',index:'note', width:100, sortable:false,editable: true,edittype:"textarea", editoptions:{rows:"2",cols:"20"}}


Entonces, al abrir el formulario para editar la fila seleccionada en la grilla, y apretar el boton aceptar, te envia los campos que tienen editable:true a la pagina editurl:"someurl.php"

en el ejemplo se enviarian estos datos de la siguiente forma

invdate = "dato que hallas ingresado en el formulario, o el que tenia si no lo cambiaste",
name = "dato que hallas ingresado en el formulario, o el que tenia si no lo cambiaste",
amount = "dato que hallas ingresado en el formulario, o el que tenia si no lo cambiaste",
tax ="dato que hallas ingresado en el formulario, o el que tenia si no lo cambiaste",
total = "dato que hallas ingresado en el formulario, o el que tenia si no lo cambiaste",
closed = "dato que hallas ingresado en el formulario, o el que tenia si no lo cambiaste",
ship_via = "dato que hallas ingresado en el formulario, o el que tenia si no lo cambiaste",
note = "dato que hallas ingresado en el formulario, o el que tenia si no lo cambiaste",



Entonces en "someurl.php" debes configurarla para recibir estos datos que señalé, por metodos $_POST o $_GET que como dije segun hallas definido en el colModel, con el parametro mtype.

ademas de los datos que son editables, tambien se envia un parametro
oper = edit,

para saber que datos se envian mediante ajax. como lo hace jqgrid te recomiendo instales un complemento de firefox que se llama FIREBUG, tambien hay una version para chrome.







(ejemplo definir mtype)
[
{name:.......index:......,editable:'true'.....},
{name:.......index:......,editable:'true'.....},
{name:.......index:......,editable:'false'.....},
],
mtype: 'POST',
......
.....
]