ich habe da ein riesiges Problem, wo ich leider nicht mehr weiterkomme. ;-)
Ich habe mein Freund Google.de wahrscheinlich die letzten 3 Tage überlastetet mit meiner Suche.
Es geht um die Darstellung und Verwendung verschiedener Steuerelemente in einer Spalte des DataGridViews. Zu den Steuerelementen zählen ComboBox mit unterschiedlichen Items, DataTimePicker, CheckedListBox, NumericUpDown ....
Ein Beispiel von mir um zwei Comboboxen mit unterschiedlichen Items zu generieren und sie in DatatGridView einzubinden:
private void GenerateComboBox(int i)
{
try
{
//Anhand des i-Variablen weiss ich welche Control ausgewählt soll
if (i == 123)
{
cmb1 = new ComboBox();
cmb1.Dock = DockStyle.Fill;
cmb1.Name = "CMB1";
cmb1.Items.Add("0");
cmb1.Items.Add("1");
cmb1.Items.Add("2");
cmb1.Width = dataGridView1.Columns[3].Width;
if (!dataGridView1.EditingPanel.Controls.ContainsKey(cmb1.Name))
dataGridView1.EditingPanel.Controls.Add(cmb1);
cmb1.TextChanged += new EventHandler(cmb1_TextChanged);
cmb1.BringToFront();
}
else if (i == 124)
{
cmb2 = new ComboBox();
cmb2.Dock = DockStyle.Fill;
cmb2.Name = "CMB2";
cmb2.Items.Add("EINS");
cmb2.Items.Add("ZWEI");
cmb2.Items.Add("DREI");
cmb2.Items.Add("VIER");
cmb2.Width = dataGridView1.Columns[3].Width;
if (!dataGridView1.EditingPanel.Controls.ContainsKey(cmb2.Name))
dataGridView1.EditingPanel.Controls.Add(cmb2);
cmb2.TextChanged += new EventHandler(cmb2_TextChanged);
cmb2.BringToFront();
}
}
catch(Exception ex)
{
System.Diagnostics.Debug.Write(ex.Message);
}
}
Aber es wird leider nur das eine in allen Zellen in einer Spalte angezeigt. Wieso? Was mache ich Falsch?
Gruß
mc