Calendar Control එකෙ date disable කරමු.

මෙක මම asp.NET page එකකට calendar එකක් දාන්න ගිහින් ඉගෙන ගත්ත දෙයක්. සාමාන්‍යයෙන් asp.NET page එක්කට calendar  එකක  දාගන්න නම් අපි කරන්නෙ Calendar Control එකක් හො Ajax Control Toolkit එකත් එක්ක එන Calendar Extender එකක් පාවිච්චි කරන එක.

Calendar Control එකෙ නම් ලෙසියෙන්ම එකෙන් අපිට ඔන විදියට date disable කරගන්න පුළුවන්.


protected void MyCalendar_DayRender(object sender, DayRenderEventArgs e)
{
    if (e.Day.Date < DateTime.Now.AddDays(-5) || e.Day.Date > DateTime.Now.AddDays(5))
    {
        e.Day.IsSelectable = false;
    }
}

නමුත් Calendar Extender එකෙ නම් මෙක කරන්න හොද කට්ටක් කන්න ඔනෙ JavaScript එක්ක.

අනිත් දේ තමයි Calendar Extender එකෙ calendar එක popup වෙනවා වගෙ දෙයක් Calendar Control එකෙ වෙන්නෙ නෑ. නිකන්ම Calendar එක පෙන්නනවා.

ඉතින් මෙ දෙකටම විසදුමක් විදියට මම කලේ TextBox එකකට PopupControl Extender  එකක්  දාලා එකෙන් Calendar Control එක popup කරන එක.

<asp:TextBox ID="tbxCalendar" runat="server" Width="200px" />
<asp:PopupControlExtender ID="tbxCalendar_PopupControlExtender" runat="server" Enabled="True" PopupControlID="pnlCalendar" Position="Bottom" TargetControlID="tbxCalendar" />
<asp:Panel ID="pnlCalendar" runat="server">
   <asp:Calendar ID="MyCalendar" runat="server" Width="200px" onselectionchanged="MyCalendar_SelectionChanged" ondayrender="MyCalendar_DayRender" />
</asp:Panel> 


protected void MyCalendar_SelectionChanged(object sender, EventArgs e)
{
    tbxCalendar.Text = ((Calendar)sender).SelectedDate.ToLongDateString();
}

protected void MyCalendar_DayRender(object sender, DayRenderEventArgs e)
{
    if (e.Day.Date < DateTime.Now.AddDays(-5) || e.Day.Date > DateTime.Now.AddDays(5))
    {
        e.Day.IsSelectable = false;
    }
}

Comments

Post a Comment

Popular posts from this blog

HTML Microformats ගැන දැනගනිමු

මොකටද මෙ HTML meta tags - 2 (Description meta tag)