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