ComboBox-Komponente in windows forms Datagridview-Steuerelement
Ich habe ein datagridview an ein windows-Formular. Es hat clolumn [EmployeeNumber, EmployeeName and EmployeeDepartment
].
Ich möchte in der Lage zu Bearbeiten Sie die Werte direkt in das raster, aber ich will EmployeeDepartment eine combobox-Spalte, so dass auf Zelle Bearbeiten, eine combobox zeigt sich mit den verfügbaren Optionen für die Mitarbeiter der Abteilung. Hat jemand in der Lage, um die Implementierung einer solchen Funktionalität?
InformationsquelleAutor Pafio | 2010-07-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den
DataGridView
hat tatsächlich eineDataGridViewComboBoxColumn
. Wenn Sie gehen, um die Spalte-designer, und fügen Sie eine neue Spalte, die Sie bemerken werden, können Sie eine von wenigen Arten. Es verhält sich genau so, wie du beschrieben hast - auf "Bearbeiten", es erscheint. DieDataGridView
verwendet Dinge genannt Steuerelemente für die Bearbeitung, und hat verschiedene Veranstaltungen für das austauschen des Steuerelements in die Zelle Bearbeiten.Entweder Weg, wenn alles, was Sie wollen, ist ein drop-down-Menü, aus der box.
Zum füllen der combo-box mit Gegenständen, die in der Spalte editor, Sie werden feststellen, dass es eine
Items
Eigenschaft für die manuelle Einstellung der Elemente, oder Sie kann die data-binding-Eigenschaften:DataSource
,DisplayMember
,ValueMember
. Daten-Bindung hat Probleme, wenn der erwartete Wert ist nicht in der items-collection, die Sie erhalten eine Menge von Zelle Fehler; Sie können aber vermieden werden.Einige hilfreiche links:
http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewcomboboxcolumn.aspx
http://social.msdn.microsoft.com/forums/en-US/csharpgeneral/thread/e8e2d9eb-fe39-42ab-9a18-2194dac54675/
Ich habe bearbeitet meine Antwort.
InformationsquelleAutor Adam Houldsworth