Hallo,
ich möchte ein DataGridView (DGV) spaltenweise initialisieren. Dazu habe ich ein DGV DataGridViewTiming im Designer leer ohne Bindung erstellt.
In der Methode Form1 lege ich die einzelnen Spalten fest:
DataGridViewTextBoxColumn dgvTextUhrzeit = new DataGridViewTextBoxColumn();
//dgvTextUhrzeit.DataSource = BindingSourceTiming; // das funktioniert nicht - hier weiß ich nicht, wie ich die Spalte an eine BindingSource anbinden soll
dgvTextUhrzeit.HeaderText = "Uhrzeit";
dgvTextUhrzeit.DataPropertyName = "Uhrzeit";
DataGridViewTiming.Columns.Add(dgvTextUhrzeit);
DataGridViewComboBoxColumn dgvComboTyp = new DataGridViewComboBoxColumn();
dgvComboTyp.DataSource = BindingSourceTiming;
dgvComboTyp.HeaderText = "Lichtquelle";
dgvComboTyp.DataPropertyName = "Typ";
dgvComboTyp.DisplayMember = "Typ";
dgvComboTyp.ValueMember = "Typ";
DataGridViewTiming.Columns.Add(dgvComboTyp);
DataGridViewComboBoxColumn dgvComboNummer = new DataGridViewComboBoxColumn();
dgvComboNummer.DataSource = BindingSourceTiming;
dgvComboNummer.HeaderText = "Nr.";
dgvComboNummer.DataPropertyName = "Nummer";
dgvComboTyp.DisplayMember = "Nummer";
dgvComboTyp.ValueMember = "Nummer";
DataGridViewTiming.Columns.Add(dgvComboNummer);
DataGridViewComboBoxColumn dgvComboBeschreibung = new DataGridViewComboBoxColumn();
dgvComboBeschreibung.DataSource = BindingSourceTiming;
dgvComboBeschreibung.HeaderText = "Beschreibung";
dgvComboBeschreibung.DataPropertyName = "Beschreibung";
dgvComboBeschreibung.DisplayMember = "Beschreibung";
dgvComboBeschreibung.ValueMember = "Nummer";
DataGridViewTiming.Columns.Add(dgvComboBeschreibung);
DataGridViewComboBoxColumn dgvComboZustand = new DataGridViewComboBoxColumn();
dgvComboZustand.DataSource = BindingSourceTiming;
dgvComboZustand.HeaderText = "Zustand";
dgvComboZustand.DataPropertyName = "Zustand";
DataGridViewTiming.Columns.Add(dgvComboZustand);
Mein Objekt hat u.a. folgenden Inhalt:
public string Uhrzeit { get; set; }
public Lichtquelle Typ { get; set; }
public int Nummer { get; set; }
public string Beschreibung { get; set; }
public BZustand Zustand { get; set; }
Dabei sind Lichtquelle und BZustand
public enum Lichtquelle
{
Led,
Relais
};
public enum BZustand
{
ein,
aus
};
In Form1_Load lade ich die Liste der Objekte (Timings = List<Timing>) und lege die Bindung der BindingSource an das Objekt fest.
Timings = inOut.ReadTiming(Timings, Presettings); // diese Methode funktioniert richtig, habe sie aber hier nicht dargestellt
BindingSourceTiming.DataSource = Timings;
Im DGV werden die Werte nicht angezeigt. Was ist falsch?