Usuario
Obtener valor de celda especifica al seleccionar fila de jqgrid

Pregunta
-
Hola buenas tardes,
tengo un problema al intentar obtener el valor de una celda en especifico de mi jqgrid, donde con onSelectRow obtengo el id de la fila pero no se como obtener con ese id el valor de una celda para comparar ese valor y hace validaciones, espero puedan apoyarme ya que estoy atorado con eso desde un rato.
Saludos.
Todas las respuestas
-
Estimado mefir_00
Para obtener un valor de una celda es mejor obtener el valor del objeto enlazado a la fila (asi no estas "investigando la tabla" sino los datos enlazados/binding)
Si ya tienes el id de la fila, llamemos rowid puedes llamar al metodo getRowData(...) Returns an array with data of the requested id = rowid. The returned array is of type name:value, where the name is a name from colModel and the value from the associated column in that row. It returns an empty array if the rowid can not be found.(...)
Es decir que si bien es un array, como devuelve el nombreDeLaColumna:valor, lo podemos convertir a objeto JSON ;) mas facil... asi que nos quedaria un ejemplo asi
Suponemos que tenemos dos columnas en la grilla
1) clienteid, oculta...
2) nombre visible...Cuando hacemos
//Obtener el objeto enlazado var cliente = jQuery('#grid').jqGrid('getRowData', rowid);
en cliente nos quedaria
//objeto enlazado var nombre = cliente.nombre; var clienteId = cliente.clienteId;
Enlaces que te pueden ayudar
Espero que te sirva de ayuda o guia
Jose. A Fernandez | blog: http://geeks.ms/blogs/fernandezja
-
Estimado mefir_00
Para obtener un valor de una celda es mejor obtener el valor del objeto enlazado a la fila (asi no estas "investigando la tabla" sino los datos enlazados/binding)
Si ya tienes el id de la fila, llamemos rowid puedes llamar al metodo getRowData(...) Returns an array with data of the requested id = rowid. The returned array is of type name:value, where the name is a name from colModel and the value from the associated column in that row. It returns an empty array if the rowid can not be found.(...)
Es decir que si bien es un array, como devuelve el nombreDeLaColumna:valor, lo podemos convertir a objeto JSON ;) mas facil... asi que nos quedaria un ejemplo asi
Suponemos que tenemos dos columnas en la grilla
1) clienteid, oculta...
2) nombre visible...Cuando hacemos
//Obtener el objeto enlazado var cliente = jQuery('#grid').jqGrid('getRowData', rowid);
en cliente nos quedaria
//objeto enlazado var nombre = cliente.nombre; var clienteId = cliente.clienteId;
Enlaces que te pueden ayudar
Espero que te sirva de ayuda o guia
Jose. A Fernandez | blog: http://geeks.ms/blogs/fernandezja
Hola que tal sabes logre solucionar ese problema, ahora tengo otro cuando tengo el evento onSelectRow quiero enviar un parametro a mi controller pero no hace nada lo intento con esto:
$(Grid).jqGrid("setGridParam", { url: ruta + 'ObtenerRegistros/?tipo=' + idtipo });
pero simplemente no hace nada, espero puedas ayudarme, el envio es hacia un controller de MVC
-