DataGridView ComboBox kolonne?

25/01/2008 - 16:09 von leslie eldrige | Report spam
Hallo Zusammen


Ich habe ein DataGridView, das ich im Entwurfsmodus mit zwei Spalten
erstellt habe. Die erste Spalte ist vom Typ Textbox und die zweite Spalte ist
vom Typ ComboBox. Wàhrend der Laufzeit wird die DataGridView mit bestimmten
Daten gefüllt und zwar Zeile für Zeile. Bei der ersten Zeile gibt es keine
Probleme, aber die zweite Spalte weiss ich nicht wie ich mit Werten
initialisieren soll!?

Ich habe so etwas versucht:

Me.DGV.Rows.Clear()
For iFOR As Integer = 0 To arrValues.Count - 1
Me.DGV.Rows.Add()
Me.DGV.Rows(iFOR).Cells(0).Value = arrValues(iFOR)

Dim myCB As New DataGridViewComboBoxCell
myCB.Items.Add("open")
myCB.Items.Add("closed")
myCB.Items.Add("on hold")
Me.DGV.Rows(iFOR).Cells(1).Value = myCB

Next

leider erhalte ich die Fehlermeldung:

The following exception occured in the DataGridView:
System.ArgumentException: DataGridViewComboBoxCell value is not valid.

To replace this default dialog please handle the DataError event.

wenn immer ich mit der Maus mich über die Spalte bewege!

Im Internet habe ich bisher nix gefunden, es sind meistens Beispielen in den
die DataGridView Spalte codemàssig erstellt und dann auch gerade mit den
ComboBox-Werten aus Dataset gefüllt wird! Ich meine wozu braucht man dann
Designer wenn ich die Controls manuell im Code erstellen würde!

Danke schon mal im Voraus.

les
 

Lesen sie die antworten

#1 Peter Fleischer
26/01/2008 - 08:45 | Warnen spam
"leslie eldrige" schrieb im
Newsbeitrag news:

Ich habe ein DataGridView, das ich im Entwurfsmodus mit zwei Spalten
erstellt habe. Die erste Spalte ist vom Typ Textbox und die zweite Spalte
ist
vom Typ ComboBox. Wàhrend der Laufzeit wird die DataGridView mit
bestimmten
Daten gefüllt und zwar Zeile für Zeile. Bei der ersten Zeile gibt es keine
Probleme, aber die zweite Spalte weiss ich nicht wie ich mit Werten
initialisieren soll!?



Hi Leslie,
da es nur eine ComboBox für alle Zellen einer Spalte gibt, braucht die
ComboBox nur einmalig geladen zu werden. Über DataPropertyName ist sie
direkt mit dem konkreten Feldinhalt gebunden. Wenn es da kein Listenelement
in der ComboBox für den konkreten Zellwert gibt, kann das Grid die ComboBox
nicht darstellen und es gibt einen Fehler.

Was willst du konkret erreichen?


Viele Gruesse

Peter

Ähnliche fragen