Est-il possible d'afficher/masquer une colonne GridView au moment de l'exécution par nom?
Je peux le faire via l'index comme suit:
gridReviews.Columns[4].Visible = false;
Cependant, j'aimerais faire ce qui suit:
gridReviews.Columns["Name"].Visible = false;
Quelle est la meilleure façon de faire cela?
Vous pouvez utiliser le code suivant pour cela:
foreach (DataControlField col in gridReviews.Columns)
{
if (col.HeaderText == "Name")
{
col.Visible = false;
}
}
Vous pouvez accéder à la grille par nom de colonne indirectement si vous pouvez accéder aux données que vous avez utilisées pour lier la grille et que les colonnes de grille sont dans le même ordre que le datatable (et AutoGenerateColumns = false):
//Make ID column invisible by column name
gv.Columns[dt.Columns[ID].Ordinal].Visible = false;