Hallo zusammen
ich schreibe den Inhalt eines DataGridViews via DataSet.WriteXML in eine XML Datei. Das funktioniert soweit. Nun möchte ich aber das eine Column des DGV eine DataGridViewComboBoxColumn ist. Sobald diese aber mit ins Spiel kommt werden keine Daten mehr aus dem DS gestreamt.
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| DataSet DS = new DataSet();
DGV.AutoGenerateColumns = true; DGV.DataSource = DS;
DS.Tables.Add("DGVTable"); DGV.DataMember = "DGVTable";
DS.Tables["DGVTable"].Columns.Add("Col1"); DS.Tables["DGVTable"].Columns.Add("Col2"); DS.Tables["DGVTable"].Columns.Add("Col3"); |
Soweit funktioniert es. Wie kann ich denn erreichen das die erste Column ein Combobox Feld ist?
Dann habe ich es noch so versucht:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23:
| DS.Tables.Add("DGVTable"); DS.Tables[0].Columns.Add("Stoff");
DGV1.AutoGenerateColumns = false;
DGV1.DataMember = "DGVTable"; DGV1.DataSource = DS; DataGridViewComboBoxColumn ColCombBox = new DataGridViewComboBoxColumn(); ColCombBox.DataSource = DS.Tables[0]; ColCombBox.ValueMember = DS.Tables[0].Columns[0].ColumnName.ToString(); ColCombBox.DisplayMember = ColCombBox.ValueMember; ColCombBox.HeaderText = "ComboBoxColumn"; DGV1.Columns.Add(ColCombBox);
DataGridViewTextBoxColumn Column1 = new DataGridViewTextBoxColumn(); Column1.HeaderText = "Col1"; DGV1.Columns.Add(Column1);
DataGridViewTextBoxColumn Column2 = new DataGridViewTextBoxColumn(); Column2.HeaderText = "Col2"; DGV1.Columns.Add(Column2); |
Funktioniert natürlich nicht, weil ja so keine Daten in der Tabelle des Datasets sind. Ich habe das dann mit der ersten Methode kombiniert. Aber das funktioniert auch nicht. Das DataSource funktioniert dann scheinbar nicht mehr. Die XML Datei ist immer leer, bzw. steht da nur Dataset drinn.
Hat jemand eine Idee wie das realisieren kann?
Gruß
Christoph