DataGridViewComboBoxColumn DataSource?

Ich versuche, etwas zu bekommen, die in ein DataGridView. Es scheint so, das sollte ziemlich einfach sein, aber ich habe Probleme. Ich möchte die Anzeige von drei Spalten:

  • CodeID
  • CodeName
  • ComboBox mit DisplayMember der TypeName, ValueMember des TypeID -

Ich möchte in der Lage sein wählen Sie aus allen möglichen Werten von TypeName. Hier ist mein dilemma:

Wenn ich load all dies in einer DataTable und legen Sie die DataGridView als DataSource kann ich die Anzeige der bestehenden TypeName für den Datensatz, aber die combo-box nicht auch andere Werte. Wenn ich die DataSource für die DataGridViewComboBoxColumn einer separaten DataTable mit allen möglichen TypeNames, wird der vorhandene Wert wird nicht angezeigt.

DataGridView ist wirklich lästig, mit zu arbeiten, also entweder eine Lösung oder eine brauchbare alternative wäre willkommen.

Edit: es scheint, das Problem wird verursacht, durch mein wollen, zu haben eine separate Position für DisplayMember und ValueMember. Die folgenden arbeiten, wenn ich nicht die Sorge über die Einstellung der ID als ValueMember:

var typeColumn = new DataGridViewComboBoxColumn
{
    DataSource = typeList,
    DisplayMember = "Type",
    ValueMember = "Type",
    DataPropertyName = "Type"
}

Wenn ich den folgenden, die richtigen Arten ausgewählt werden, aber ich kann nicht ändern Sie die Auswahl in der combo-box:

var typeColumn = new DataGridViewComboBoxColumn
{
    DataSource = typeList,
    DisplayMember = "Type",
    ValueMember = "TypeID",
    DataPropertyName = "TypeID"
}

Wenn ich verwenden Sie die folgende ich bekomme eine FormatException Fehler als er versucht zu füllen:

var typeColumn = new DataGridViewComboBoxColumn
{
    DataSource = typeList,
    DisplayMember = "Type",
    ValueMember = "TypeID",
    DataPropertyName = "Type"
}

Bearbeiten: typeList ist eine einfache DataTable bevölkert von den folgenden:

SELECT DISTINCT IT.InsuranceTypeID, IT.[Type]
FROM InsuranceType IT
WHERE IT.ClientID = @ClientID
ORDER BY [Type]
Sind Sie auf der Einstellung der DataPropertyName auf die DGVCBC? Auch, epische Profil-Symbol. social.msdn.microsoft.com/forums/en-US/winformsdatacontrols/...
Yep...siehe mein edit.
Können Sie nach, wie Sie setup typeList und die Struktur, die Sie der Liste hinzufügen möchten? Die Arten von DataPropertyName und ValueMember muss die gleiche sein, die wahrscheinlich ist, warum Sie immer die Ausnahme im letzten Beispiel.
sicher, siehe mein edit.

InformationsquelleAutor John Straka | 2011-10-05

Schreibe einen Kommentar