Wie zu Referenz-Spalte-name statt e.ColumnIndex in Windows forms DataGridView-Ereignis-Handler?
Einige Ereignis-Handler für die WinForm - DataGridView
haben DataGridViewCellEventArgs
als parameter und ein ColumnIndex
als Eigenschaft dieses argument.
ColumnIndex
ist eine Zahl, die der Spalte ordinal #.
Gibt es eine Möglichkeit zum verweisen auf den Namen einer Spalte aus, das argument statt der Spalte index?
Also anstatt das zu tun:
if (e.ColumnIndex == 1)
Ich lieber etwas wie:
if (e.ColumnName == "CustomerName")
weil wenn eine Spalte ändert seine position, es wird den code knacken.
InformationsquelleAutor Tony_Henrich | 2009-07-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sicher. Es ist natürlich nicht direkt in die
DataGridViewCellEventArgs
, aber es ist leicht erhältlich. In der Ereignisprozedur:InformationsquelleAutor lc.
InformationsquelleAutor Crowcoder
Den Antworten funktioniert Super, aber wenn Sie zu Referenz-Zelle index eine Menge, dann werde ich nur hinzufügen, dass private int Mitglieder auf das Formular, nennen Sie Sie "idxMeaningfulColumnNameHere", dann initialisieren Sie diese Mitglieder im Formular-Konstruktor. Ich fand es viel einfacher auf diese Weise.
InformationsquelleAutor strongline
Hier ist eine benutzerdefinierte Methode, Hinzugefügt werden, um Ihre DGV.
Mit, dass Sie etwas tun können, wie:
InformationsquelleAutor user3299271