Certains gestionnaires d'événements pour le WinForm < code> ColuminIdex code> est un chiffre représentant le numéro ordinal de la colonne. p> est un moyen de faire référence à un nom de colonne à partir de cet argument au lieu de l'index de colonne? P> donc au lieu de faire: p> Je préfère quelque chose comme: p> car si une colonne change de position, elle brisera le code . p> p> dataGridView code> ont
datagridviewcelerventargs code> en tant que paramètre et un
ColuminInDex code> comme une propriété de cet argument.
4 Réponses :
Bien sûr. Il n'est bien sûr pas directement dans em> le datagridviewcelerventargs code>, mais il est facilement obtenu. Dans votre gestionnaire d'événements:
DataGridView dgv = (DataGridView)sender;
string columnName = dgv.Columns[e.ColumnIndex].Name;
String ColumnameName = DGV.Columns (E.ColumnIdex) Nom; Si vous utilisez vb.net au lieu de c #
if (e.ColumnIndex == dgv.Columns["CustomerName"].Index ) { and so on.... }
Sur mon radgridview j'ai besoin du jeu de noms Uniquename = "Customername"
Les réponses ci-dessus fonctionnent bien, mais si vous devez faire référence à l'index des cellules, j'ajouterai simplement aux membres privés des membres du formulaire, nommez-les "IDXMEANINGFULCOLUMNAMNAMELERE", puis initialisez ces membres dans le constructeur de formulaire. Je l'ai trouvé beaucoup plus facile de cette façon.
Voici une méthode personnalisée à ajouter à votre DGV.
If dgv1.getColumnIndexByName("SOME_COLUMN_NAME") = e.ColumnIndex Then Do_something()