Programming/.NET

Calender 는 웹에 달력기능을 제공하는 컨트롤입니다.
<asp:Calendar ID="Calendar1" runat="server"></asp:Calendar>
 주요속성/이벤트

1. SelectedDate

Calender에서 선택한 날짜값을 DateTime 객체로 가져옵니다.

2. SelectedDates

SelectedDate와 기능은 같지만 Calender에서 주나 월에 대한 날짜를 선택하는 경우 해당 날짜범위를 모두 가져오도록 하는 속성입니다.
protected void Calendar1_SelectionChanged(object sender, EventArgs e)
{
    for (int day = 0; day < Calendar1.SelectedDates.Count; day++)
        Response.Write(Calendar1.SelectedDates[day].ToShortDateString());
}
3. SelectionMode

SelectionMode를 지정하면 Calender에서 날짜를 선택하는 방식을 바꿀 수 있습니다. Day는 날짜만을, DayWeek는 날짜와 주를 선택할 수 있으며 DayWeekMonth는 날짜, 주와 함께 월(요일을 나타내는 부분 왼쪽에 표시)을 선택할 수 있도록 합니다.

만약 속성의 값을 None으로 지정하면 아무것도 선택할 수 없게 됩니다.

4. OnSelectionChanged

Calender 에서 특정 날짜를 선택하는 경우 발생하는 이벤트입니다.

5. OnDayRender

Calender에서 날짜를 표시할때의 이벤트입니다. 이 이벤트를 잘 활용하면 Calender에서 표시하는 내용을 원하는 형태로 바꿀 수 있습니다. 아래 예제는 특정 날짜가 확인되면 날짜대신 원하는 내용을 표시하는 방법입니다.
protected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
{
    if (e.Day.Date.Month == 1 && e.Day.DayNumberText == "1")
        e.Cell.Text = "내 생일";
}

▶  1월 1일인 경우 해당 날짜에 '내 생일' 표시

혹은 특정 컨트롤을 대신해서 표시한다거나 날짜를 표시하는 Cell 자체의 디자인을 새롭게 구성할 수 있습니다.
if (e.Day.Date.Month == 1 && e.Day.DayNumberText == "13") {
    Image img = new Image();
    img.ImageUrl = "~/images/12_mon.gif";
    e.Cell.Controls.Add(img);

    e.Cell.BackColor = System.Drawing.Color.Red;
    e.Cell.BorderColor = System.Drawing.Color.Blue;
    e.Cell.BorderStyle = BorderStyle.Double;
    e.Cell.BorderWidth = 30;
}
참고로 Cell은 날짜를 표시하는 박스 자체이며 Day는 박스안에서 표시되는 날짜의 영역을 의미합니다. 각 영역에는 지정가능한 많은 속성이 있으며 필요에 따라 사용할 수 있는 유연성을 제공합니다.

'Programming > .NET' 카테고리의 다른 글

[ASP.NET] 공급자 모델 - 1  (0) 2016.03.17
[ASP.NET] Menu  (0) 2016.03.10
[ASP.NET] Calender  (0) 2016.03.07
[ASP.NET] DataList  (0) 2016.03.03
[ASP.NET] XML - 6  (0) 2016.02.23
[ASP.NET] XML - 5  (0) 2016.02.18
0 0