Calendario / Agenda collegata a Db

martedì 20 maggio 2014 - 12.50
Tag Elenco Tags  C#  |  VB.NET  |  .NET 3.5  |  .NET 4.0  |  Windows 7  |  Visual Studio 2010  |  SQL Server 2008 R2

victordotnet Profilo | Newbie


Salve a tutti sotto consigli di FreeTeo ho postato in questo nuovo thread la domanda che mi affligge da parecchio.
In pratica ho la necessità di realizzare in un software gestionale un agenda calendario, che mi visualizzi i dati da un db. Ho visto questo esempio su codeproject e non so se i valori inseriti nei campi vengono memorizzati da qualche parte. L'esempio è a questo link http://calendar.codeplex.com/
Ora mi chiedo se è possibile realizzare un qualcosa di simile con riferimenti a db, o magari se ci sono componenti free da poter incorporare.
Grazie.

pieroalampi Profilo | Expert

Io sempre alle ricerca come te!!!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LA PRIMA FRASE DI UN PROGRAMMATORE HELLO WORD ...... ANCHE L'ULTIMA

freeteo Profilo | Guru

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
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5