none
Obtener valor de celda especifica al seleccionar fila de jqgrid RRS feed

  • 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.

    miércoles, 3 de abril de 2013 23:12

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

    sábado, 6 de abril de 2013 21:51
  • 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

    miércoles, 10 de abril de 2013 0:36
  • Muchas gracias justo lo que necesitaba.
    viernes, 13 de noviembre de 2015 16:06