bonjour tout le monde ,
conmment je peux creer une drop down list , telle que qd je clique sur la fleche , c'est pas la liste qui sort , mais un calendar ...
( j'ai deja vu ca , mais je ne sais pas comment faire ! )
merci d'avance !
bonjour tout le monde ,
conmment je peux creer une drop down list , telle que qd je clique sur la fleche , c'est pas la liste qui sort , mais un calendar ...
( j'ai deja vu ca , mais je ne sais pas comment faire ! )
merci d'avance !
Moi je peux faire ça, mais par avec un dropdown list... simplement lorsque tu clic sur une image (avec une flèche comme le dropdownlist) ça t'affiche un calendrier...
Regarde sur cette page et si ça t'interresse je te passe le code :
Sur la ligne Aller clic sur l'image avec un calendrier dessus :
http://www.voyages-sncf.com/dynamic/_SvTermCommVoySaisie?_TMS=1124024848280&_DLG=SvTermCommVoySaisie&_LANG=FR&_AGENCY=VSC
Bonjour tout le monde !
merci lespalom pour ta reponse , ce n'est pas exactement ce que je cherche , mais effectivement ta solution me parait plutot interressante , ..
Donc , merci d'avance , si tu peux m'envoyer le code correspondant , !
salut
en effet ton souci n'est pas simple car il n'existe pas d'evenement click sur un DropDownList.
Je vois les choses comme cela
1. Creer ton propre contrôle constitué d'un Textbox et d'un ImageButton à côté avec la flèche.
2. Affhicher ton nouveau contrôle avec un Calendar juste au-dessous en lui mettant la propriété .Visible à false
3. Sur la procedure click du bouton, jouer avec la propriété .Visible du Calendar
S'il s'agit bien de la solution .. moi j'ai pas envie de me casser la tete !![]()
Je pensais qu'il etait simple de réaliser ce genre de truc ! mais bon ..
En tout cas , on va attendre pour que lespalom nous envoi son code ! (Merci lespalom)
Merci a toi aussi Neguib !![]()
Je ne suis pas sur le bon PC... je vous passe le code ce soir !!! (vers 18h00)
lespalom
Voici les codes.
Tu met le contenu de ce fichier ZIP dans le dossier de ta page ASPX. : Cliquer ICI.
Ensuite, dans ta page ASPX :
- Dans :
tu remplace par :
Code : Sélectionner tout - Visualiser dans une fenêtre à part <form runat="server">
- Ensuite, dans le corp de ta page, tu met :
Code : Sélectionner tout - Visualiser dans une fenêtre à part <form id="formulaire" name="formulaire" runat="server">
Et voila le travail... tu peux modifier l'apparence de ton Calendrier en modifiant le fichiet cal.htm, ou les images du dossier images.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78 <asp:textbox id="date1" runat="server"></asp:textbox><A class="normal" onclick="CB();" href="javascript:ShowCalendar(document.formulaire.dimg1,document.formulaire.date1,null,0,330)"><IMG id="dimg1" style="POSITION: relative" height="19" src="images/cal_choix.jpg" width="21" border="0"> </A> <span style="DISPLAY: none"> <IMG src="images/date.gif"> <IMG src="images/baddate.gif"> </span><iframe id="CalFrame" style="DISPLAY: none; Z-INDEX: 30; LEFT: 560px; WIDTH: 144px; POSITION: absolute; TOP: 543px; HEIGHT: 179px" marginWidth="0" marginHeight="0" src="cal.html" frameBorder="0" noResize></iframe></IFRAME> <script language="javascript"> var htm="cal.html"; </script> <script language="javascript"> var cF=document.all.CalFrame; var cW=window.frames.CalFrame; var g_tid=0; var g_cP,g_eD,g_eDP,g_dmin,g_dmax,g_htm; function CB(){ event.cancelBubble=true } function SCal(cP,eD,eDP,dmin,dmax,htm){ clearTimeout(g_tid); var s=(g_eD==eD); g_cP=cP; g_eD=eD; g_eDP=eDP; g_dmin=new Date(); g_dmin.setDate(g_dmin.getDate()+dmin); g_dmax=(new Date()); g_dmax.setDate(g_dmax.getDate()+dmax); g_htm=htm; WaitCal(true,s); } function CancelCal(){ clearTimeout(g_tid); cF.style.display="none"; } function WaitCal(i,s) { if(null==cW.g_fCL||false==cW.g_fCL) { if(i) { if(s&&"block"==cF.style.display) { cF.style.display="none"; return; } var chaine="<STYLE>A{color:#333399}A:hover{color:#ff6600}</STYLE><TABLE BORDER=0 CELLPADDING=0 CELLSPACING=1 WIDTH=144 STYLE='border:1px solid #303030'><TR>"; chaine=chaine+"<TD HEIGHT=156 ALIGN=MIDDLE STYLE='font:10pt arial'>Loading</TD></TR><TR><TD HEIGHT=16 ALIGN=MIDDLE STYLE='font:8pt arial'><A HREF='javascript:window.parent.CancelCal()'>Cancel</A></TD><TR></TABLE>"; cW.document.write(chaine); cW.location.replace(g_htm); PosCal(g_cP); cF.style.display="block"; } g_tid=setTimeout("WaitCal()",200); } else cW.DoCal(g_cP,g_eD,g_eDP,g_dmin,g_dmax); } function PosCal(cP) { var dB=document.body; var eL=0;var eT=0; for(var p=cP;p&&p.tagName!='BODY';p=p.offsetParent) { eL+=p.offsetLeft;eT+=p.offsetTop; } var eH=cP.offsetHeight; var dH=cF.style.pixelHeight; var sT=dB.scrollTop; if(eT-dH>=sT&&eT+eH+dH>dB.clientHeight+sT) eT-=dH; else eT+=eH;cF.style.left=eL;cF.style.top=eT; } function GetDowStart(){ return 1; } function GetDateFmt(){ return"ddmmyy"; } function GetDateSep(){return"/";} function ShowCalendar(eP,eD,eDP,dmin,dmax) { SCal(eP,eD,eDP,dmin,dmax,htm); } </script> <script event="onclick()" for="document"> CancelCal(); </script>
Ensuite, tu peux récupérer la valeur date1.Text dans ton application...
Bonne chanceet si t'as un problème je suis là
![]()
lespalom
merci man ! je vais essyer tout ca tout de suite , et je te tien au courant !
ca marche impécable !
je vais essayer de l'adapter a mon code , et de comprendre le tien![]()
( comme koi : je me coucherai moins bete ce soir )
merci encore !
Voila !!! Et si tu as des questions, je suis là !!!
le calendrier que tu m'as passé ne contient que les mois de l'année en cours ...
c'est vrai que je n'ai pas encore lu le code source , mais je me demande s'il n'y a pas un exemple plus complet !
( sinon , c'est pas grave .. tu en as deja fait beaucoups :p )
Génial ce calendrier !!![]()
Merci lespalom !
Par contre je suis aussi preneur si quelqu'un sait comment gérer les mois sur plusieurs années.
Partager