c# DataGridViewComboBoxColumn Initialisierung in winform Programmierung

fanxin

Grünschnabel
Guten Abend Liebe Community.

Mein Problem ist, wie ich ein combobox in datagridview initialisiere. ich habe DataGridViewComboBoxColumn von columnsType in Datagridview ausgewählt. ich wollte kein DataTable erstellen, und dannmit ihn binden. Ich möchte nur wie allgemein combobox zuweisen. wie zu Beispiel: DataGridview.combobox.item.text = "blabla". Ich versuche mal,
Code:
          DataGridView.Column2.Items.Clear();
          DataGridView.Column2.Items.AddRange(new object[] { "a1", "a2", "a3", "a4"});
Esfunktioniert nicht.

Konnte jemand mir helfen. Am besten bringen Sie ein kleine Beispiel.

Grüße
fanxin
 
Hallo,

ich habe mal ein kleines Projekt erstellt um zu sehen was genau der designer erstellt wenn ein ComboBoxColumn benutzt wird. Hier mal das Beispiel. Ich hoffe es hilft die etwas weiter.

Code:
this.Column1 = new System.Windows.Forms.DataGridViewComboBoxColumn();
this.Column2 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column3 = new System.Windows.Forms.DataGridViewTextBoxColumn();


this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
            this.Column1,
            this.Column2,
            this.Column3});

Gruß
 
Hallo napstermania,

vielen Dank für Ihre Vorschlag.

vielleicht habe ich nicht deutlich erklären. ich habe DataGridViewComboBoxColumn von columnsType in Datagridview ausgewählt. Programm läuft sich schon und Combobox in einer Spalt von DataGridView erstellt wird. Jetzt möchte ich combobox zuweisen.

Ich habe dein code in Form1.cs probiert und es funktioniert nicht. Vielleicht habe ich falsch gelegt. Konntest Du mir weiter helfen, wie ich Combobox Initialisieren soll.

mfg
fanxin
 

Anhänge

  • ComboboxColumn.jpg
    ComboboxColumn.jpg
    19,1 KB · Aufrufe: 85
  • ComboboxColumn_1.jpg
    ComboboxColumn_1.jpg
    8,3 KB · Aufrufe: 75
  • ComboboxColumn_2.jpg
    ComboboxColumn_2.jpg
    24,5 KB · Aufrufe: 98
Wenn du schon ein DataGridView verwendest, dann solltest du am besten auch eine DataTable bzw. ein DataSet dafür benutzen, auch wenn du es nicht aus einer Datenbank füllst. Aber es geht auch ohne.
Wenn du die AddRange-Methode aufrufst, darfst du kein Array übergeben, sondern musst die einzelnen Werte nur durch Komma getrennt übergeben.
Schreibe also statt
C#:
DataGridView.Column2.Items.Clear();
DataGridView.Column2.Items.AddRange(new object[] { "a1", "a2", "a3", "a4"});
folgendes
C#:
DataGridView.Column2.Items.Clear();
DataGridView.Column2.Items.AddRange("a1", "a2", "a3", "a4");
Du kannst natürlich auch die Werte einzeln mit der Add-Methode hinzufügen.
 
Zurück