En Windows Forms 3.5 et 2.0, le DataGridView affiche par défaut toutes les colonnes de la source de données qui lui est liée. Vous pouvez configurer les colonnes dans le mode Design de Visual Studio 2008, mais à première vue impossible de revenir en arrière. Je vous explique ici comment revenir à la situation d'origine.
Comme son cousin le GridView d'ASP.NET, le DataGridView des Windows Forms sait détecter les colonnes de la DataSource qui lui est passée. Si vous avez (ou que Visual Studio l'a fait pour vous) configuré les colonnes d'un DataGridView mais que vous voulez revenir en arrière. Le DataGridView a une propriété AutoGenerateColumns qu'il suffit de remettre à "True" (sa valeur par défaut), mais malheureusement elle n'apparaît pas dans la fenêtre de propriétés de Visual Studio 2008. Comment faire donc? Suivez le guide...
Commencez par supprimer les colonnes en mode Design. Pour cela, cliquez sur le smart tag en haut à droite du DataGridView:
Dans le menu du smart tag, choisissez "Modifier les colonnes", et dans la boîte de dialogue qui s'ouvre supprimez toutes les colonnes. Cliquez sur le bouton "OK" pour fermer la boîte de dialogue.
Notez le nom du GridView. Dans mon exemple, c'est categoriesDataGridView. Dans l'explorateur de solutions, ouvrez le fichier généré par Visual Studio pour votre formulaire. Par exemple, si le formulaire s'appelle MasterDet.cs, vous devez ouvrir le fichier MasterDet.Designer.cs:
Recherchez les lignes de définition du contrôle et supprimez la ligne qui indique "AutoGenerateColumns=false" (celle qui est surlignée dans ma copie d'écran):
Et voilà!
Note: je déconseille d'habitude fortement d'intervenir à la main dans le fichier généré par Visual Studio (xxx.Designer.cs), car vous n'avez rien à y faire et Visual Studio risque de ne plus s'y retrouver. Mais il me semble que c'est la seule manière de remettre la propriété AutoGenerateColumns (c'est sidérant, mais bon...).
Comments