Campos invisibles en gridviews

Con .NET Framework 1.1 cuando queríamos un datagrid con columnas ocultas pero que pudieramos acceder a su valor desde código bastaba con llamar a la columna, pero ahora con .NET Framework 2.0, tenemos que usar la propiedad "DataKeyNames" del gridview.
 
Como vemos en el ejemplo, en la parte del HTML sería de la siguiente manera:
 
<asp:GridView ID="gvEjemplo" runat="server" AutoGenerateColumns="False" GridLines="None" OnSelectedIndexChanged="gvEjemplo_SelectedIndexChanged" Width="100%" DataKeyNames="Campo1,Campo2" CssClass="Estilo3" PageSize="6">                                  
       <Columns>
             <asp:BoundField  Visible="False" DataField="Campo1" >
             </asp:BoundField>
             <asp:BoundField  Visible="False" DataField="Campo2" >
             </asp:BoundField>
 
En la propiedad DataKeyNames ponemos los campos invisibles a los que queramos acceder separados por comas.
 
Luego en el código deberemos llamarlos de la siguiente manera:
 
    protected void gvEjemplo_SelectedIndexChanged(object sender, EventArgs e)
    {
        string sCampo1;
        string sCampo2;
        //en asp.net 2.0 no vale con cells[x].text para obtener el valor de un campo oculto
        //por eso necesito Datakeys y obtener el valor de los campos ocultos.
        sCampo1 = gvEjemplo.DataKeys[this.gvEjemplo.SelectedIndex][0].ToString();
        sCampo2 = gvEjemplo.DataKeys[this.gvEjemplo.SelectedIndex][1].ToString();
        //Paso al viewstate los datos seleccionados
        this.ViewState.Add("sCampo1", sCampo1);
        this.ViewState.Add("sCampo2", sCampo2);
    }
 
Espero haber resuelto dudas. Saludos.
 
 

4 Responses to Campos invisibles en gridviews

  1. Julio Cesar dice:

    Si me sirvio el ejemplo aunque lo tengo en Visual Basic. Muchas gracias

  2. Pablo dice:

    Funciona a la perfección… Gracias

  3. Carmen dice:

    Me alegro😉

  4. oscar dice:

    Sos Grande

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: