datagrid comboboxcolumn 1:n relation

20/12/2008 - 10:19 von Lars Eggert | Report spam
Hallo NG,

folgendes Problem:

DataGridView in einem VS2008 WF Projekt.
Das DataGrid ist Databound auf Table1.
Table1 hat eine 1:n Relation auf Table2.
Im DataGrid ist Column1 aus dem Table1 und eine unbound ComboBoxColumn die
die DataSource Table1zuTable2 enthàlt mit DisplayMember und ValueMember.
Beim Ausführen wird soweit alles richtig dargestellt.
Column1 enthàlt alle Daten aus Table1 und in der ComboBox der Column2 die
relationalen Dtaen aus Table2.
Sobald jedoch in der ComboBox ausgewàhlt wird und die Zeile gewechselt kommt
eine Fehlermeldung, daß der CellWert nicht zulàssig ist.
Zudem ist der selektierte Eintrag der Combobox nicht mehr sichtbar und wird
erst wieder angezeigt, wenn man auf die entsprechende Zeile selektiert.

Jemand eine Idee woran es klemmen könnte?

Danke schon mal

Grüße

Lars
 

Lesen sie die antworten

#1 Frank Dzaebel
20/12/2008 - 21:45 | Warnen spam
Hallo Lars,

DataGridView in einem VS2008 WF Projekt.
Das DataGrid ist Databound auf Table1.
Table1 hat eine 1:n Relation auf Table2.



schàtzungsweise also wie:

[Master/Detail mit DataSet-Designer]
http://dzaebel.net/MasterDetail.htm

und da dann im DataGridView-Designer
aus der letzten Spalte (z.B. "Wert") beim:
- Typ: DataGridViewComboBoxColumn àndern.
- Name: dgvWertComboColumn
setzen.
- Im Form_Load am Ende zum Beispiel:
dgvWertComboColumn.DataSource = dataSet1.Detail.Copy();
dgvWertComboColumn.DisplayMember = "Wert";

Oder wie hier:

[Typsichere Eigenschaften bei Datenbindung]
http://dzaebel.net/TypesafeProps.htm



Jemand eine Idee woran es klemmen könnte?



ja, das Clonen/Kopieren des DataSource ist hier
oft ein guter Ansatz, wenn Ziel ist, alle
vorhanden Werte der DgvComboBoxColumn
immer zur Verfügung zu stellen.


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen