In datengebundenes GridView Combobox einfügen



  • Hallo,
    bevor ich anfange möchte ich wissen, ob sich das überhaupt umsetzen lässt:

    Ich habe ein DataGridView welches ich über eine DataTable fülle.
    Darin möchte ich eine Spalte als ComboBox. Diese soll vorselektiert den Wert des Datensatzes aus der DataTable haben
    Die Combobox soll dann noch mit anderen möglichen Werte aus einer DB Abfrage befüllt sein.

    Ich hoffe, es ist soweit verständlich was ich machen möchte?





  • Ok, aber wie kann ich nun den Wert in der Combobox vorselektieren?

    private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
            {
                 MBE mbeItem = comboBox1.SelectedItem as MBE;
                 if (mbeItem != null)
                 {
                     dataGridView1.DataSource = null;
                     dataGridView1.Rows.Clear();
                     dataGridView1.Columns.Clear();
                     dataGridView1.DataSource = GetMBEData(mbeItem.Id);
    
                     DataGridViewComboBoxColumn col = new
                     DataGridViewComboBoxColumn();
                     col.DataSource = GetIdentNumbers();
                     col.Width = 120;
                     col.Name = "ComboColumn";
                     dataGridView1.Columns.Insert(1, col);
    			 }
    		      Set_Values_On_ComboBoxes();
    		}
    
    		private void Set_Values_On_ComboBoxes()
               {
                for (int i = 0; i < dataGridView1.Rows.Count - 1; i++)
                {
                    dataGridView1.Rows[i].Cells["ComboColumn"].Value = dataGridView1[2, i].Value;
                }
            }
    

    Jedoch erhalte ich dann die Fehlermeldung Der DataGridViewComboBoxCell-Wert ist ungültig.



  • Hat sich erledigt!
    Durch das setzen folgender Eigenschaften:

    col.DataPropertyName = "Ident";
    col.DisplayMember = "Ident";
    col.ValueMember = "Ident";
    

Log in to reply