Ciao ragazzi,
vi posto un piccolo codice usando la libreria indicata.
Nel costruttore della form, vado a prendere l'evento che viene scatenato quando il DayView visualizza i giorni
public Form1()
{
InitializeComponent();
dayView1.StartDate = DateTime.Now;
dayView1.ResolveAppointments += (o, e) =>
{
e.Appointments = GetAppuntamenti(e.StartDate,e.EndDate);
};
}
....
e quello che serve al controllo è avere una collection di Appointment per quel range che viene richiesto, a questo punto è possibile avvalersi di un'altra classe che vada sul db, quindi con connessione, command, select e quindi riempimento di una datatable per recuperare i dati dal db.
Fatto questo (avendo quindi una DataTable riempita dal db, ad esempio con le colonne "DataInizio", "DataFine", "Testo") basta solo creare le classi che si aspetta la libreria:
private List<Appointment> GetAppuntamenti(DateTime inizio, DateTime fine)
{
List<Appointment> lista = new List<Appointment>();
DataTable t = DataBaseManager.GetAppuntamenti(inizio,fine);
foreach (DataRow r in t.Rows)
{
//--- trasformo una riga del datatable in un oggetto che vada bene al dayView
Appointment a = new Appointment();
a.StartDate = Convert.ToDateTime(r["DataInizio"]);
a.EndDate = Convert.ToDateTime(r["DataFine"]);
a.Title = Convert.ToString(r["Testo"]);
lista.Add(a);
}
return lista;
}
la cosa mi sembra abbastanza semplice a livello "concettuale", chiaramente è necessario tutto il codice di contorno per renderlo un'applicazione reale, questo è un esempio veloce per mettervi sulla strada giusta.
Ciao.
Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo