Hallo!
Ich bin angehender Wirtschaftsinformatiker und stehe vor einem Problem in meiner Hausarbeit.
Ich habe eine DataGridViewComboBoxColumn in einer DataGridView. Dort möchte ich für jede Zeile, dass beim Laden schon der korrekte Wert in der ComboBoxSpalte ausgewählt. Leider gibt es für ComboBoxColumns keine Eigenschaften wie "SelecedIndex" oder "SelectedItem"... dies stellt mich vor ein großes Problem... nach langer Suche im Internet hab ich zwar viele Beiträge gefunden zu diesem Thema jedoch hat keine mir den gewünschten erfolg gebracht (genauer gesagt garkeinen erfolg).
Ich habe des öfteren gelesen dass ich die Werte mit der DGV.Rows[i].Cells[j].Value setzen kann, jedoch egal was ich tue, es bringt einfach nichts....
Kann mir jemand nen Hinweis geben wie man Werte in der ComboBoxColumn setzt?
Hier mein bisheriger Quellcode:
Bildlich gesehen:
So sollte es nach dem Form laden aussehen:
So sieht es momentan (leider) aus:
(An der Form muss noch was getan werden, das ist momentan nur der Rohbau)
ich hoffe ich konnte mein Problem deutlich machen.
Für Hinweise währe ich sehr dankbar. Bin schon ziemlich verzweifelt...
Danke schonmal
PyroTX
Ich bin angehender Wirtschaftsinformatiker und stehe vor einem Problem in meiner Hausarbeit.
Ich habe eine DataGridViewComboBoxColumn in einer DataGridView. Dort möchte ich für jede Zeile, dass beim Laden schon der korrekte Wert in der ComboBoxSpalte ausgewählt. Leider gibt es für ComboBoxColumns keine Eigenschaften wie "SelecedIndex" oder "SelectedItem"... dies stellt mich vor ein großes Problem... nach langer Suche im Internet hab ich zwar viele Beiträge gefunden zu diesem Thema jedoch hat keine mir den gewünschten erfolg gebracht (genauer gesagt garkeinen erfolg).
Ich habe des öfteren gelesen dass ich die Werte mit der DGV.Rows[i].Cells[j].Value setzen kann, jedoch egal was ich tue, es bringt einfach nichts....
Kann mir jemand nen Hinweis geben wie man Werte in der ComboBoxColumn setzt?
Hier mein bisheriger Quellcode:
Code:
OleDbCommand KomponentenAuslesen = new OleDbCommand("SELECT KompBezeichnung AS KomponentenBezeichnung, Anzahl, Preis, KomponentenArtID FROM tbl_Komponente INNER JOIN tbl_KompArt ON tbl_Komponente.KompArt = tbl_KompArt.KomponentenArtID WHERE RechID = @RechID;", Datenbank.conn); KomponentenAuslesen.Parameters.Add("@RechID",OleDbType.BigInt); KomponentenAuslesen.Parameters["@RechID"].Value = RechID; RechnerDA = new OleDbDataAdapter(KomponentenAuslesen); RechnerDS.Tables.Add(Komponenten); RechnerDA.Fill(RechnerDS,"Komp"); gridKomponenten.DataSource = RechnerDS.Tables["Komp"]; gridKomponenten.Columns[3].Visible = false; ComboColumn.DataSource = getKomponentenArt(); ComboColumn.ValueMember = "KomponentenArtID"; ComboColumn.DisplayMember = "Bezeichnung"; ComboColumn.HeaderText = "KomponentenArt"; gridKomponenten.Columns.Add(ComboColumn); try { for (int i = 0; i <= gridKomponenten.Rows.Count - 1; i++) { gridKomponenten.Rows[i].Cells[4].Value = gridKomponenten[3,i].Value; }
So sollte es nach dem Form laden aussehen:
So sieht es momentan (leider) aus:
(An der Form muss noch was getan werden, das ist momentan nur der Rohbau)
ich hoffe ich konnte mein Problem deutlich machen.
Für Hinweise währe ich sehr dankbar. Bin schon ziemlich verzweifelt...
Danke schonmal
PyroTX
Comment