Voila je pose la source car j'ai vu beaucoup de question mais pas de réponse la dessus ...:(
Il me fallait un popup calendar pour saisir une date et remplir un champs textbox sur la fenetre principale appelant le popup, la les sources sont connues.
Mais il me fallait aussi choisir pour les demi-journé , matin ou apresmidi.
La solution aurait été de dérivé la classe mais je ne connait rien du tt à la dérivation et ca me paressait trop gros pour ca alors, en plus ya une solution carrement plus simple sur evenement DayRender!!!
Source / Exemple :
Donc depuis le debut
Code pour ouvrir une popup depuis un bouton
CalendDeb.Attributes.Add("onClick","return ShowCalendar('DateDeb');");
Code Javascript douverture de popup
<script language="javascript" type="text/javascript">
function ShowCalendar(champdate)
{
window.open("Calendrier.aspx?champs=" + champdate,"Calendrier","width=350, height=350, resizable=no, toolbar=false, scrollbars=false, status=yes");
return false; // Util! pour éviter le postback!!
}
</script>
Déclarer le control calendar dans une page...pas besoin de detailler...
Et sur evenement DayRender
e.Cell.Text="<a href=\"javascript:validdate('" + e.Day.Date.ToShortDateString() + " Matin')\" style=\"color:#003399\">" + e.Day.Date.Day.ToString() + "</a>";
e.Cell.Text+="<br><br><a href=\"javascript:validdate('" + e.Day.Date.ToShortDateString() + " AprésMidi')\" style=\"color:#003399\">" + e.Day.Date.Day.ToString() + "</a>";
et la fonction JS pour valider et completer le champs
<script language="javascript" type="text/javascript">
function validdate(dcur)
{
if (window.opener.document.getElementById("votrenomdechamps"))
window.opener.document.getElementById("votrenomdechamps").value = dcur;
window.close();
}
</script>
Conclusion :
Voila vous vous retrouver avec un calendrier personnaliser car vous pouvez mettre n'importe quoi d'autre dans chaque cellule!!!
Deplus, vous éviter un postback inutile car des le click ben vous compléter le champs et fermer la fenetre.
Voila pour toutes remarques ou erreurs n'hésitez pas!
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.