Foros del Web » Programando para Internet » ASPX (.net) »

[SOLUCIONADO] Modificar columnas de un GridView con el select por capas

Estas en el tema de Modificar columnas de un GridView con el select por capas en el foro de ASPX (.net) en Foros del Web. Estimados señores del conocimiento: Tengo un procedimiento creado en SQL Server que me hace un select de varias datos que necesito para una vista. La ...
  #1 (permalink)  
Antiguo 18/12/2014, 10:06
 
Fecha de Ingreso: diciembre-2014
Mensajes: 111
Antigüedad: 9 años, 4 meses
Puntos: 9
Modificar columnas de un GridView con el select por capas

Estimados señores del conocimiento:

Tengo un procedimiento creado en SQL Server que me hace un select de varias datos que necesito para una vista. La mayoría van a un GridView con la excepción de dos ellos que son siempre iguales y van a una Label.

Para llenar el GridView utilizo este código:

Código:
Negocio.Views.ListadoContratosNeg cargar = new Negocio.Views.ListadoContratosNeg();
            GVContratos.DataSource = Negocio.Views.ListadoContratosNeg.selectByAsesoria(IDAsesoria.Text);
            GVContratos.DataBind();
Y luego los típicos pasos por la capa de negocio y Datos.

¿Hay alguna forma de modificar los campos del gridView manteniendo la carga del mismo a través de las capas? (Hacer columnas invisibles, añadir columnas y convertir algunas en TemplateField es lo que busco).

Si no se entiende algo decidmelo e intento explicarme mejor.

Un saludo.
  #2 (permalink)  
Antiguo 22/12/2014, 10:07
 
Fecha de Ingreso: diciembre-2014
Mensajes: 111
Antigüedad: 9 años, 4 meses
Puntos: 9
Respuesta: Modificar columnas de un GridView con el select por capas

Vale, conseguido, más o menos.

Resulta que al GridView se le pueden meter columnas de la forma normal (con <Columns>...</Columns>), que además pueden coger los datos de las que me interesan con <%#Bind ("NombreColumna") %> y así puedo hacer con ellas lo que quiera. Estas nuevas columnas aparecen forzosamente a la izquierda de las que cargo en el DataBind(); y aquí viene la magia, tras hacer el databound utilizo este código:

Código:
protected void GV_DataBound(object sender, EventArgs e)
        {
            for (int h = 6; h < 14; h++)
            {
                GV.HeaderRow.Cells[h].Visible = false;
            }
            for (int i = 0; i < GV.Rows.Count; i++) {
                for (int j = 6; j < 14; j++) { 
                    GV.Rows[i].Cells[j].Visible = false; 
                }
            }
        }
Y así las columnas que cargo desaparecen de la vista del usuario pero puedo seguir trabajando con ellas.

Espero que le sirva a alguien.

Un saludo.

Etiquetas: c#, capas, gridview, procedimiento_almacenado, select
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:46.