달력을 만들때...
달력 컨트롤 소스임. Web용임.
달력을 쉽게 만들려면
DateTime을 가지고 쉽게 제작이 가능함.
요구사항에 적합한 달력을 만들기 위해서 새로운 달력이 필요하다면 한번쯤 만들어보는것도
괜찮은 듯 함.
중요한 부분만 글씨를 굵게 표시 했음.
private void create(int year, int month)
{
DateTime date = new DateTime(year, month, 1); // 해당년월에 1일.
ctrl_CalendarBody.Text = "day : " + DateTime.DaysInMonth(year, month).ToString(); // 총 일수
ctrl_CalendarBody.Text += "week : " + date.DayOfWeek.ToString();
int totalDay = DateTime.DaysInMonth(year, month);
StringBuilder sb = new StringBuilder("<table width=\"700\" border=\"1\" cellspacing=\"5\" cellpadding=\"3\"><tr><td bgcolor=\"FFFFFF\">");
string[] dayofweek = Enum.GetNames(typeof(DayOfWeek));
sb.AppendFormat("<tr align=center>");
for (int i = 0; i < dayofweek.Length; i++)
sb.AppendFormat("<td style=\"width: 100px;height: 30px;\">{0}</td>", dayofweek[i].Substring(0, 3));
sb.AppendFormat("</tr>");
sb.AppendFormat("<tr>");
string style = string.Empty;
string text = string.Empty;
for (int day = 1 - (int)date.DayOfWeek; day <= totalDay; day++)
{
//설정
if ((day + (int)date.DayOfWeek) % 7 == 0) // 토요일
style = string.Format("color:{0};", "blue");
else if ((day + (int)date.DayOfWeek) % 7 == 1) // 일요일
style = string.Format("color:{0};", "red");
else
style = string.Format("color:{0};", "black"); // 월 ~ 금요일
if (day <= 0)
text = " ";
else
{
if (day == DateTime.Now.Day && year == DateTime.Now.Year && month == DateTime.Now.Month) // 오늘 날짜 표시
{
style += "font-weight:bold;";
text = day.ToString();
}
else
text = day.ToString();
}
//해당값 입력.
sb.AppendFormat("<td style=\"{1}\">{0}</td>", text, style);
if (0 == (day + (int)date.DayOfWeek) % 7) // 다음주~ 로 넘어가는 부분 DayofWeek 요일 열거형
sb.Append("</tr><tr>"); // (day + (int)date.DayOfWeek) % 7 나머지가 0
style = string.Empty;
}
sb.AppendFormat("</tr>");
sb.AppendFormat("</table>");
ctrl_CalendarBody.Text = sb.ToString();
sb.Remove(0, sb.Length);
sb = null;
}
'# 2) .Net ( Vs 2005 ) > WebForm' 카테고리의 다른 글
Asp.Net] Razor, MVC 스터디.. (0) | 2018.03.15 |
---|---|
메뉴] 자바스크립트로 만든 메뉴객체를 이용. (0) | 2009.05.09 |
철호야! 공부하자! (0) | 2009.05.08 |
리피터 사용!! (0) | 2009.05.08 |
Table Row-> Select, MouseOver, Out관련 (0) | 2009.05.08 |