Ver Mensaje Individual
  #5 (permalink)  
Antiguo 08/07/2007, 04:56
juancete
 
Fecha de Ingreso: febrero-2007
Mensajes: 69
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: Ocultar Columna del Datagrid

tengo un problema parecido con un gridview: tengo todas las columnas ocultas y segun el tipo de consulta muestro unos u otras segun coincida la cabecera del datatable con la cabecera de la columna del gridview

Código:
grvPrincipal.DataSource = tabla;
grvPrincipal.DataBind();            
muestraColumnasGrid(tabla);

private void muestraColumnasGrid(DataTable tabla)
{
        int i,j;
        //recorre las columnas de la tabla
        for (i = 0; i < tabla.Columns.Count; i++)
        {
            //recorre las columnas del gridview
            for (j = 0; j < grvPrincipal.Columns.Count; j++)
            {
                if (grvPrincipal.Columns[j].HeaderText.Equals(tabla.Columns[i].ColumnName))
                {
                    grvPrincipal.Columns[j].Visible = true;
                    break;
                }                        
            }
}
mi problema esta en que el nombre de las columnas del gridview no es justo como el de las cabeceras del datatable ya que cuando construi el gridview le cambie algunos nombres, del estilo NIF_C

Código:
<asp:GridView ID="grvPrincipal" runat="server" AllowPaging="True" AllowSorting="True"
			AutoGenerateColumns="False" CellPadding="4" ForeColor="#333333" GridLines="None" Width="100%">
			
	<Columns>
		<asp:BoundField DataField="NIF_C" HeaderText="NIF" Visible="False" >
			<ItemStyle Wrap="False" />
		</asp:BoundField>				
	</Columns>		
</asp:GridView>
como puedo comparar el valor del nombre de columna del datatable con el valor datafield que toma cada columna del gridview?

saludos

Última edición por juancete; 08/07/2007 a las 05:03