Announcement

Collapse
No announcement yet.

Werte in DGVComBoxColumn setzen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Werte in DGVComBoxColumn setzen

    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:

    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;
                    }
    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

  • #2
    Hallo,

    vielleicht hilft Dir meine Kurzanleitung unter DataGridView: Master/Detail über ComboBox.

    Gruß Jürgen

    Comment


    • #3
      Danke Jürgen!
      Du bsit der erste der versucht hat mir zu helfen...
      mir ist in etwa klar was du da tust, jedoch bringt mich das leider nicht weiter...

      Eine Lösung die LEIDER nicht geht, jedoch vielleicht besser beschreibt was ich gerne tun würde, währe:

      for (int i=0;i<= gridKomponenten.Rows.Count - 1; i++)
      {
      ComboBoxColumn[i].SelectedIndex = gridKomponenten[i,3].Value;
      }

      Eine andere Idee die habe sieht aus wie folgt:
      Eine TextBoxColumn in das DataGridView einfügen und nachträglich da ComboBoxen einfügen... jedoch weis ich nicht recht ob das gehen würde, bzw. ob es überhaupt möglich ist....

      Comment

      Working...
      X