none
problema con Select gridview RRS feed

  • Pregunta

  • Buen dia,

    en mi gridview cree un TemplateField ya que necesitaba una columna personalizada, en ella cree un link que me ejecuta un Jquery para mostrar un Dialog, hasta ahi todo va perfecto, sin embargo necesito que ese link que cree llamado "Ver" seleccione la fila como lo hace el Selection propio del gridview, por que lo necesito ? por que estoy cargando información a un textbox y el metodo para ello solo funciona si la fila es seleccionada.

    agradezco la colaboración.

    lunes, 25 de abril de 2016 21:18

Respuestas

  • Cuando dice "y el metodo para ello solo funciona si la fila es seleccionada.", ¿qué quiere decir exactamente?  ¿El método es un método de C# que examina la propiedad SelectedIndex del control GV?  Porque de ser así no puede usar jQuery únicamente.  La propiedad SelectedIndex solamente cambia cuando hay Postback, y si usa jQuery solamente para abrir el diálogo y hacer una llamada Ajax (que suele ser lo popular), entonces el control no tendrá un SelectedIndex correcto.

    Lo que usted tiene que hacer es pasar al enlace (supongo que es un tag <a> común y corriente) el ID de la fila a la cual corresponde.  ¿Cuál ID?  Supongo que la grilla está vinculada a datos.  Entonces yo diría que el ID (clave primaria) del registro que representa la fila.  Si no, pues tal vez un contador simple de filas.  Ya con este ID usted puede pasarlo al diálogo, o mejor dicho, como parámetro a la llamada Ajax que llena el diálogo.  Yo lo haría algo así:

    <a data-id="<% Eval("ID") %>">Ver...</a>

    Y el valor se recupera fácilmente con jQuery en el evento click del enlace:

    $('<selector de enlaces Ver>').click(function(ev)
    {
        ev.preventDefault();
        var dataId = $(this).data('id');
        //Listo.  Ya tiene el ID correspondiente a la fila en la que se hizo clic.
        //Ahora puede serializarlo en la llamada a Ajax o bien pasarlo por QueryString.
        $.ajax(....);
    });
    


    Jose R. MCP
    Code Samples

    martes, 26 de abril de 2016 2:33
    Moderador