DataGridView mit ComboBox

31/03/2008 - 21:31 von Hartmut Callies | Report spam
Hallo,
mit dem folgenden Code füge ich einem DataGridView eine Spalte
mit einer ComboBox hinzu mit den Eintràgen Hallo1 und Hallo2.

Dim cbo As New DataGridViewComboBoxColumn
cbo.Items.Add("Hallo1")
cbo.Items.Add("Hallo2")
cbo.HeaderText = "Test"
cbo.DisplayIndex = 1
DataGridView1.Columns.Add(cbo)

Wenn ich aber nicht mit Code sondern bereits beim Entwurf über
die DataGridView-Eigenschaft Columns die Spalte Test hinzufüge
mit dem Typ ComboBox, dann schaffe ich es nicht (ohne DataTable)
die beiden Eintràge Hallo1 und Hallo2 einzufügen.
Weiß jemand wie das funktioniert?

Hartmut Callies
 

Lesen sie die antworten

#1 Peter Götz
01/04/2008 - 10:22 | Warnen spam
Hallo Hartmut,

mit dem folgenden Code füge ich einem
DataGridView eine Spalte mit einer ComboBox
hinzu mit den Eintràgen Hallo1 und Hallo2.

Dim cbo As New DataGridViewComboBoxColumn
cbo.Items.Add("Hallo1")
cbo.Items.Add("Hallo2")
cbo.HeaderText = "Test"
cbo.DisplayIndex = 1
DataGridView1.Columns.Add(cbo)

Wenn ich aber nicht mit Code sondern bereits beim
Entwurf über die DataGridView-Eigenschaft Columns
die Spalte Test hinzufüge mit dem Typ ComboBox,
dann schaffe ich es nicht (ohne DataTable)
die beiden Eintràge Hallo1 und Hallo2 einzufügen.
Weiß jemand wie das funktioniert?



Ich verstehe Deine Frage resp. Dein Problem nicht
so ganz.

Wenn Du dem DGV zur Entwurfszeit eine ComboBoxSpalte
gegeben hast (z.B. Spalte 2) dann kannst Du die zugehörige
ComboBox so mit Werten füllen:

Dim DGVCol as DataGridViewComboBoxColumn = _
DirectCast(DGV.Columns(2), DataGridViewComboboxColumn)

With DGVCol
.Items.Add("1. Zeile")
.Items.Add("2. Zeile")
.Items.Add("3. Zeile")
.Items.Add ...
End With

Zur Entwurfszeit kannst Du die Items so hinzufügen:

Rechter Mausklick auf das Grid
-> Spalten bearbeiten
-> ComboBox-Spalte unter "Ausgewàhlte Spalten:" markieren
-> unter "Daten" im rechten Feld "Eigenschaften für nicht
gebundene Spalten" die Eigenschaft "Items" wàhlen und
dann
-> in der geöffneten Liste für die "Auflistung" die einzelnen
Zeilen für die ComboBox eintragen.


Gruß aus St.Georgen
Peter Götz
www.gssg.de (mit VB-Tipps u. Beispielprogrammen)

Ähnliche fragen