DotNetCampania
Il primo portale campano dedicato allo sviluppo software con tecnologie Microsoft

DropDown Calendar

rated by 0 users
Risposto This post has 3 verified answers | 5 Replies | 3 Followers

Top 25 Partecipanti
11 Post
Punteggio 232
IronCube posted on 28 apr 2010 20:57

Salve,

ho in una pagina asp.net un calendario, in particolare un dropDownCalendar che estende la classe Calendar, vorre sapere come posso abilitare la funzionalità che mi permette di cambiare l'anno...

...volendo essere più preciso, quando clicco sulla dropDown, visualizzo il calendario in cui mi è permesso selezionare il giorno del mese visualizzato e in alto ho le due frecce che mi consentono di andare avanti o dietro con i mesi, ma come posso fare a abilitare la funzionalità che mi permette, cliccando sull'anno, di visualizzare la lista di questi ultimi?

 

...grazie per l'attenzione

Risposto Verified Answer

Top 10 Partecipanti
Maschio
379 Post
Punteggio 5.540

Ajax Conrol Toolkit è una buona soluzione, puoi anche usare jQueryUI:

http://jqueryui.com/demos/datepicker/

Che è sicuramente la soluzione migliore.

 

  • | Punteggio Post: 25
Top 10 Partecipanti
Maschio
288 Post
Punteggio 3.802

Ti avevo chiesto se potessi usare ajax proprio perchè il calendar del toolkit già implementa la funzionalità da te richiesta. Nel caso in cui non avessi potuto usare ajax, la strategia migliore è quella di creare uno userControl (ascx) in cui inserire un controllo calendar e sopra di esso mettere una dropdownlist con l'elenco degli anni. Si deve poi gestire l'evento onSelectedChanged inserendo istruzioni del genere:

 

//Aggiunge anni

this.Calendar1.VisibleDate = this.Calendar1.VisibleDate.AddYears(Int32.Parse(this.DropDownList1.SelectedValue));

//Rimuove anni

this.Calendar1.VisibleDate = this.Calendar1.VisibleDate.AddYears(-Int32.Parse(this.DropDownList1.SelectedValue));

Capisc e dotnet tu? No! E allor che parl a fà!

  • | Punteggio Post: 25
Top 10 Partecipanti
Maschio
288 Post
Punteggio 3.802

Liccardi Antonio:

//Aggiunge anni

this.Calendar1.VisibleDate = this.Calendar1.VisibleDate.AddYears(Int32.Parse(this.DropDownList1.SelectedValue));

//Rimuove anni

this.Calendar1.VisibleDate = this.Calendar1.VisibleDate.AddYears(-Int32.Parse(this.DropDownList1.SelectedValue));

Pensandoci puoi riassumere il tutto anche tramite una singola istruzione:

Calendar1.VisibleDate.AddYears(Int32.Parse(DropDownList1.SelectedValue) - Calendar1.VisibleDate.Date.Year);

Capisc e dotnet tu? No! E allor che parl a fà!

  • | Punteggio Post: 25

All Replies

Top 10 Partecipanti
Maschio
288 Post
Punteggio 3.802

Ciao IronCube, che versione di asp.net stai usando? hai la possibilità di usare anche ajax?

Capisc e dotnet tu? No! E allor che parl a fà!

  • | Punteggio Post: 20
Top 25 Partecipanti
11 Post
Punteggio 232

Uso il framework 3.5, cmq penso di aver risolto utilizzando ajax toolkit, grazie per l'attenzione...però se ci sono soluzioni al problema che non usano ajax datemi informazioni...grazie per l'attenzione.

  • | Punteggio Post: 35
Top 10 Partecipanti
Maschio
379 Post
Punteggio 5.540

Ajax Conrol Toolkit è una buona soluzione, puoi anche usare jQueryUI:

http://jqueryui.com/demos/datepicker/

Che è sicuramente la soluzione migliore.

 

  • | Punteggio Post: 25
Top 10 Partecipanti
Maschio
288 Post
Punteggio 3.802

Ti avevo chiesto se potessi usare ajax proprio perchè il calendar del toolkit già implementa la funzionalità da te richiesta. Nel caso in cui non avessi potuto usare ajax, la strategia migliore è quella di creare uno userControl (ascx) in cui inserire un controllo calendar e sopra di esso mettere una dropdownlist con l'elenco degli anni. Si deve poi gestire l'evento onSelectedChanged inserendo istruzioni del genere:

 

//Aggiunge anni

this.Calendar1.VisibleDate = this.Calendar1.VisibleDate.AddYears(Int32.Parse(this.DropDownList1.SelectedValue));

//Rimuove anni

this.Calendar1.VisibleDate = this.Calendar1.VisibleDate.AddYears(-Int32.Parse(this.DropDownList1.SelectedValue));

Capisc e dotnet tu? No! E allor che parl a fà!

  • | Punteggio Post: 25
Top 10 Partecipanti
Maschio
288 Post
Punteggio 3.802

Liccardi Antonio:

//Aggiunge anni

this.Calendar1.VisibleDate = this.Calendar1.VisibleDate.AddYears(Int32.Parse(this.DropDownList1.SelectedValue));

//Rimuove anni

this.Calendar1.VisibleDate = this.Calendar1.VisibleDate.AddYears(-Int32.Parse(this.DropDownList1.SelectedValue));

Pensandoci puoi riassumere il tutto anche tramite una singola istruzione:

Calendar1.VisibleDate.AddYears(Int32.Parse(DropDownList1.SelectedValue) - Calendar1.VisibleDate.Date.Year);

Capisc e dotnet tu? No! E allor che parl a fà!

  • | Punteggio Post: 25
Pagina 1 di 1 (6 elementi) | RSS

Associazione Culturale DotNetCampania - C.F.: 95127870632

Powered by Community Server (Commercial Edition), by Telligent Systems