A CalendarExtender az egyik kedvenc vezérlőm az AjaxControlToolkitben. Ráállítom mondjuk egy TextBoxra és szépen segít azt egy érvényes dátummal kitölteni:
<asp:ScriptManager runat="server" />
<asp:TextBox ID="txtDatum" runat="server" />
<ajaxToolkit:CalendarExtender runat="server"
TargetControlID="txtDatum"
Format="yyyy.MM.dd" />
Egy dolgot nem szerettem benne idáig: mindig az aktuális nappal indult. Ha mondjuk születési dátumot szeretnék vele választatni, akkor macerás volt havonta eltekergetni például 1981-ig.
Pedig támogatja a gyors évválasztást is, de erről a legtöbb felhasználó úgysem tud:
Utánanéztem, hogyan lehet kapásból ebben az évválasztó üzemmódban elindítani. A dolog elég egyszerű: egy javascript eseménykezelőben megkérjük, hogy megjelenéskor az éveket mutassa. Ennyi az egész:
<asp:ScriptManager runat="server" />
<asp:TextBox ID="txtDatum" runat="server" />
<ajaxToolkit:CalendarExtender runat="server"
TargetControlID="txtDatum"
Format="yyyy.MM.dd"
OnClientShowing="onCalendarShowing"
/>
<script type="text/javascript" language="javascript">
function onCalendarShowing( sender, args )
{
sender._switchMode("years", true);
}
</script>