7
votes

Comment faire référence au nom de la colonne au lieu de E.Columnindex dans WinForm DataGridView View Manutentionnaires d'événement?

Certains gestionnaires d'événements pour le WinForm dataGridView ont datagridviewcelerventargs en tant que paramètre et un ColuminInDex comme une propriété de cet argument.

< code> ColuminIdex est un chiffre représentant le numéro ordinal de la colonne.

est un moyen de faire référence à un nom de colonne à partir de cet argument au lieu de l'index de colonne?

donc au lieu de faire: xxx

Je préfère quelque chose comme: xxx

car si une colonne change de position, elle brisera le code .


0 commentaires

4 Réponses :


10
votes

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;


1 commentaires

String ColumnameName = DGV.Columns (E.ColumnIdex) Nom; Si vous utilisez vb.net au lieu de c #



6
votes
if (e.ColumnIndex == dgv.Columns["CustomerName"].Index )
{
    and so on....            
}

1 commentaires

Sur mon radgridview j'ai besoin du jeu de noms Uniquename = "Customername"



4
votes

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. XXX


0 commentaires

0
votes

Voici une méthode personnalisée à ajouter à votre DGV.

If dgv1.getColumnIndexByName("SOME_COLUMN_NAME") = e.ColumnIndex Then Do_something()


0 commentaires