Laden...

MonthCalendar und DataGridView syncronisieren

Erstellt von daniel94ever vor 15 Jahren Letzter Beitrag vor 15 Jahren 1.745 Views
D
daniel94ever Themenstarter:in
67 Beiträge seit 2006
vor 15 Jahren
MonthCalendar und DataGridView syncronisieren

Ich habe in einem Form eine DataGridView und einen MonthCalender. In beiden soll der Monat und der Tag angezeigt werden.
Super wäre es, wenn in beiden der gleiche Tag dargestellt wird. 😁

Zum syncrnoisieren verwende ich folgende Ereignisse:


private void monthCalendar_DateChanged(object sender, DateRangeEventArgs e)
        {
            // Tag setzen
            dgvDaysInMonth.CurrentCell = dgvDaysInMonth[0, e.Start.Day - 1];
            dgvDaysInMonth.Rows[e.Start.Day - 1].Selected = true;
        }

und


private void dgvDaysInMonth_RowEnter(object sender, DataGridViewCellEventArgs e)
        {
            DateTime date =
                Convert.ToDateTime(dgvDaysInMonth[0, e.RowIndex].Value);
            //Neuer Tag
                this.monthCalendar.SetDate(date);
            
        }

Jetzt werden wie wild Ereignisse durch die gegend gefeuert. Das ist nur suboptimal. Syncronisiere ich richtig?

5.299 Beiträge seit 2008
vor 15 Jahren

Für Control-Synchronisierungen macht sich DataBinding i.a. ganz gut.
Wenn du eine DataSource hättest (etwa ein typisiertes Dataset, mit einer Tabelle mit Datumsen), könnteste sowohl Dataset als auch MonthCalendar über eine (dieselbe!) BindingSource daran binden.
Und an dieselbe BindingSource gebundene Controls zeigen denselben Wert an.

Der frühe Apfel fängt den Wurm.

D
daniel94ever Themenstarter:in
67 Beiträge seit 2006
vor 15 Jahren

Und wenn ich kein Datasource gabe 🤔

5.299 Beiträge seit 2008
vor 15 Jahren

Jo, dann musste wohl sowas wie Databinding nachprogrammieren. Aber deine Frage lautete: "Synchronisiere ich richtig?" - und ich findes suboptimal, was nachzuproggen, wasses schon gibt.

Der frühe Apfel fängt den Wurm.