آموزش ASP.Net > کنترل های استاندارد ASP.Net > کنترل Calendar
نمایش دکمه های ماه در کنترل تقویم Calendar
مقدمه :
به صورت پیش فرض ، کنترل تقویم Calendar ، ماه ( Monnth ) تاریخ جاری سرور را نمایش
می دهد . کاربران می توانند با کلیک بر روی دکمه های ماه در نوار عنوان کنترل تقویم
، به تاریخ ماه بعد یا قبل حرکت نمایند . شما می توانید تعیین کنید آیا این لینک نمایش
داده شوند یا خیر و همچنین تنظطیمات RunTime دیگری را بر این کنترل اعمال کنید .
نحوه فعال کردن یا غیر فعال نمودن دکمه های پیمایش ماه :
برای نمایش یا عدم نمایش دکمه های پیمایش ماه در کنترل تقویم ، مقدار خاصیت ShowNextPrevMonth
را به true یا false تنظیم نمایید . مقدار پیش فرش این خاصیت true بوده و لینک های
پیمایش ماه در کنترل تقویم نمایش داده می شود .
مثال : در مثال زیر دو کنترل تقویم را قرار داه ایم ، که در هر کدام
تنظیم متفاوتی را برای خاصیت ShowNextPrevMonth تعیین کرده ایم . به تفاوت دو کنترل
دقت نمایید :
|
< asp:Calendar ID="Calendar1" runat="server" > < /asp:Calendar
>
|
< asp:Calendar ID="Calendar2" runat="server" ShowNextPrevMonth="false"
> < /asp:Calendar >
|
|
|
|
حرکت بین ماه ها در کنترل تقویم به صورت programmatically :
برای تغییر ماه نمایش داده شده در کنترل تقویم به صورت RunTime و برنامه ریزی شده ،
مقدار خاصیت VisibleDate ، آن را برابر با یک روز در آن ماه ، قرار دهید .
تاریخ این روز می تواند هر کدام از روزهای ماه باشد ، ولی معمولا روز اول ماه تعیین
می شود . در مثال زیر ، کدی نوشته ایم که ماه کنترل تقویم مورد نظر را به تاریخ تعیین
شده ، انتقال می دهد :
|
VB کد
|
Calendar1.VisibleDate = New Date(2000, 2, 1)
|
|
C# کد
|
Calendar1.VisibleDate = new DateTime (2000, 2, 1) ;
|
نکته : اگر قابلیت پیمایش ماه در کنترل تقویم فعال باشد ، کنترل در
هنگام حرکت کاربر بین ماه ها ، یک رویداد خاص را اجرا می کند . از این رویداد می توانید
برای اجرای کدهای مورد نظر خود استفاده نمایید .
برای مثال فرض کنید که دو کنترل تقویم بر روی صفحه دارید . می توانید کدی بنویسید که
همواره کار کند تا کاربر نتواند در کنترل تقویم دوم ، تاریخی ما قبل کنترل تقویم اول
انتخاب نمایید .
نحوه پاسخ به رویداد تغییر تاریخ در کنترل تقویم Calendar :
رویداد VisibleMonthChanged ، رویدادی است که در هنگام حرکت کاربر بین ماه ها در کنترل
تقویم ، رخ می دهد . کدهای مورد نظر خود را ، جهت اجرا در این رویداد می توانید بنویسید
. نحوه استفاده از این رویداد را در مثال زیر نشان داده ایم .
این رویداد می تواند از طریق MonthChangedEventArgs یک مقدار را به عنوان پارامتر دریافت
کند . این مقدار می تواند یکی از دو مورد زیر باشد :
- PreviousDate : این خاصیت نام ماهی که کنترل قبل از کلیک کاربر
بر روی دکمه های پیمایش ماه ، نشان می داده است ، را بر می گرداند .
می توانید با مقایسه این متغیر و ماه جاری که کاربر انتخاب کرده ( خاصیت VisibleDate
) متوجه جهت حرکت کاربر به سمت ماه بعد یا قبل شوید .
- NewDate : این پارامتر نام ماه جدیدی که کاربر به آن حرکت کرده
است ، را در خود نگهداری می کند . خاصیت VisibleDate قبل از اینکه رویداد VisibleMonthChanged
رخ دهد ، به این مقدار تغییر می یابد .
مثال عملی : در مثال زیر ، کدی طراحی کرده ایم که نسبت به تغییر ماه
در کنترل Clanedar1 واکنش نشان می دهد . این کد ماه انتخاب شده توسط کاربر را از طریق
پارامتر مربوط دریافت کرده و سپس روزهای 10 دهم و 25 ام ماه را به صورت های لایت نمایش
می دهد :
|
VB کد
|
Public Sub Calendar1_VisibleMonthChanged(ByVal sender As Object, _
ByVal e As System.Web.UI.WebControls.MonthChangedEventArgs) _
Handles Calendar1.VisibleMonthChanged
' Select the 10th and 25th of each month.
Calendar1.SelectedDates.Clear()
Calendar1.SelectedDates.Add(New DateTime(e.NewDate.Year, e.NewDate.Month,
10))
Calendar1.SelectedDates.Add(New DateTime(e.NewDate.Year, e.NewDate.Month,
25))
End Sub
|
|
C# کد
|
private void Calendar1_VisibleMonthChanged (object sender, System.Web.UI.WebControls.MonthChangedEventArgs
e)
{
// Select the 10th and 25th of
each month.
Calendar1.SelectedDates.Clear();
Calendar1.SelectedDates.Add(new DateTime(e.NewDate.Year,
e.NewDate.Month, 10));
Calendar1.SelectedDates.Add(new DateTime(e.NewDate.Year,
e.NewDate.Month, 25));
}
|
|
< asp:Calendar ID="Calendar1" runat="server" >
< /asp:Calendar >
|
|
|
راجع این مطلب
سوال یا اشکالی دارید ؟! آن را در انجمن سایت مطرح نمایید ...
>>>>> ورود به انجمن تخصصی
نطر خودتان درباره این صفحه را با ما در میان گذاشته و در صورت تمایل از Developer1
حمایت نمایید :