Settare un calendario da C#

venerdì 28 novembre 2008 - 14.24

Leonida Profilo | Junior Member

Ciao a tutti. Sono alle prese con l'ennesimo problemino dovuto più a un eccesso di pignoleria che altro ... ho definito un calendario per impostare la data di nascita in un form. Selezionando un giorno del calendario, vengono riempite 3 TextBox con i valori di giorno, mese e anno rispettivamente.

Vorrei fare anche l'inverso, cioè riempiendo il TextBox anno o mese, vorrei si settasse il calendario sui valori indicati. Non riesco a trovare un metodo che mi consenta di farlo, potete aiutarmi?

freeteo Profilo | Guru

ciao,
scusa mi viene spontanea una domanda, perchè se hai un calendario (presumo un calendar o un DateTimePicker) ti servono anche le 3 textbox?
Nel controllo DateTimePicker ad esempio, puoi formattare la stringa che viene visualizzata (e quindi usata per inserire dall'utente) impostando queste 2 proprietà:
- Format => Custom
- CustomFormat => dd/MM/yyyy (ad esempio ma ne trovi altri qui: http://msdn.microsoft.com/en-us/library/az4se3k1.aspx)



Ciao.

Matteo Raumer
[MVP Visual C#]
http://blogs.dotnethell.it/freeteo

Leonida Profilo | Junior Member

Ciao...si uso il Calendar in ASP.NET e lo gestisco tramite codice C#...in pratica un utente deve indicare la propria data di nascita, per farlo ha due scelte: digitarla all'interno delle text-box o selezionarla da calendario. Intendiamoci, la presenza del calendario rende solo più simpatica la pagina, sarebbe molto più sensato usare delle dropDownList che vengono popolate tramite codice C# e fare da lì la selezione .

Per un mio capriccio ho invece voluto usare il metodo indicato sopra. Quando viene selezionato un giorno, in automatico le caselle giorno, mese e anno si caricano leggendo da calendario. Vorrei riuscire a fare anche il contrario semplicemente, come detto nell'intervento di apertura, per pignoleria.

Il problema è che ci sono molti metodi da usare con la classe calendar ma nn riesco a trovare quello giusto, puoi aiutarmi? (è insensato, lo so, ma sono agli inizi e sono in fase di sperimentazione )

kontax Profilo | Junior Member

Se ho capito, per quello che vuoi fare:
dopo che l'utente ha inserito i numerini nelle textbox, fai partire il postback e ti leggi i numeri.
Poi crei un oggetto DateTime. Con Datetime.Parse() converti la stringa opportunamente formattata, derivante dai numeri nella textbox.
A questo punto setti il calendario ad avere come data selezionata quella dell'oggeto DateTime, usando il .SelectedDate.
Spero di essere stato chiaro, se hai bisogno di un po' di codice chiedi.
Ciao

Leonida Profilo | Junior Member

Ciao scusa, ho appena letto la tua risposta, avevo perso le speranze ormai...grazie, provo quanto prima
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5