日期控件Calendar的简单使用
2007-03-30 21:19
417 查看
今天下午仿照着天轰穿大哥的视频学习日期控件Calendar,刚刚照着代码写了一遍,还是有很多都没有看懂啊。也不知道是一下子理解不了,还是我把代码打错了,达不到视频上讲的效果。还是把代码帖出来了。
public partial class _Default : System.Web.UI.Page
{
string[][] arr;//声明数组来储存节日
protected void Page_Init(object sender, EventArgs e)
{
//填充日期列表
for (int y = 1980; y < 2080; y++)
{
Year.Items.Add(y.ToString());
}
for (int y = 1; y <= 12; y++)
{
Mouth.Items.Add(y.ToString());
}
for (int y = 1; y <=31; y++)
{
Day.Items.Add(y.ToString());
}
arr = new string[13][];
for (int i = 0; i < 13; i++)
{
arr[i] = new string[32];
}
//下面是储存在数组中的节日
arr[1][1] = "元旦节";
arr[2][14] = "情人节";
arr[3][8] = "妇女节";
arr[4][1] = "愚人节";
arr[5][1] = "劳动节";
arr[5][22] = "赤色火焰的生日";
arr[6][1] = "儿童节";
arr[7][1] = "建党节";
arr[8][1] = "建军节";
arr[9][10] = "教师节";
arr[10][1] = "国庆节";
arr[12][24] = "平安夜";
arr[12][25] = "圣诞节";
}
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
switch (DropDownList1.SelectedValue)
{
case "None"://注意是冒号
Calendar1.SelectionMode = CalendarSelectionMode.None;
break;
case "Day":
Calendar1.SelectionMode = CalendarSelectionMode.Day;
break;
case "DayWeek":
Calendar1.SelectionMode = CalendarSelectionMode.DayWeek;
break;
case "DayWeekMonth":
Calendar1.SelectionMode = CalendarSelectionMode.DayWeekMonth;
break;
}
}
protected void Calendar1_SelectionChanged(object sender, EventArgs e)
{
//当选择日期时激发
Label1.Text = Calendar1.SelectedDate.ToShortDateString();
Label2.Text = Calendar1.SelectedDate.Day.ToString()+"日";
Label3.Text = Calendar1.SelectedDate.Month.ToString()+"月";
Label4.Text = Calendar1.SelectedDate.Year.ToString() + "年";
}
protected void Button1_Click(object sender, EventArgs e)
{
string y = Year.SelectedValue.ToString();
string m = Mouth.SelectedValue.ToString();
string d = Day.SelectedValue.ToString();
Calendar1.VisibleDate = Convert.ToDateTime(y+"-"+m+"-"+d);//设置指定日期,要将日期转化为日期格式
}
protected static DataTable ds(string day)
{ //为日期将要绑定的数据库做个查询
SqlConnection con = new SqlConnection("server=.;uid=sa;pwd=sa;database=pubs;");
SqlDataAdapter sda = new SqlDataAdapter();
sda.SelectCommand = new SqlCommand("select title_id,pubdate,title from titles where pubdate="+day,con);
DataSet ds = new DataSet();
sda.Fill(ds,"titles");
return ds.Tables["titles"];
}
protected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
{
CalendarDay d = e.Day;//设置当前日期
TableCell c = e.Cell;//设置当前表格
if(d.IsOtherMonth)
{//如果是其他月份的话就清除本来的节日
c.Controls.Clear();
}
else
{
try
{
string txt=arr[d.Date.Month][d.Date.Day];//得到完整的当前【月】【日】
if(txt !=string.Empty)//看是否存在东西
{
//仿照博客园的日历来做
string day=e.Day.Date.ToShortDateString();//获取当前日期并转化为短日期格式
foreach(DataRow dr in ds(day).Rows)//循环数据视图中的每一行
{
c.Controls.Clear();//清除所有表格中的元素
c.Controls.Add(new LiteralControl("<a href='http://mgod.cnblogs.com/haha.aspx?dt="+day+"'><b>"+e.Day.Date.Day+"</b></a>"));
}
c.Controls.Add(new LiteralControl("<br>"+txt));//如果有的话,就在日期数字后面换行显示出来了
}
}
catch (Exception ex)
{
Response.Write(ex.ToString());
}
}
}
}
点此下载代码
public partial class _Default : System.Web.UI.Page
{
string[][] arr;//声明数组来储存节日
protected void Page_Init(object sender, EventArgs e)
{
//填充日期列表
for (int y = 1980; y < 2080; y++)
{
Year.Items.Add(y.ToString());
}
for (int y = 1; y <= 12; y++)
{
Mouth.Items.Add(y.ToString());
}
for (int y = 1; y <=31; y++)
{
Day.Items.Add(y.ToString());
}
arr = new string[13][];
for (int i = 0; i < 13; i++)
{
arr[i] = new string[32];
}
//下面是储存在数组中的节日
arr[1][1] = "元旦节";
arr[2][14] = "情人节";
arr[3][8] = "妇女节";
arr[4][1] = "愚人节";
arr[5][1] = "劳动节";
arr[5][22] = "赤色火焰的生日";
arr[6][1] = "儿童节";
arr[7][1] = "建党节";
arr[8][1] = "建军节";
arr[9][10] = "教师节";
arr[10][1] = "国庆节";
arr[12][24] = "平安夜";
arr[12][25] = "圣诞节";
}
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
switch (DropDownList1.SelectedValue)
{
case "None"://注意是冒号
Calendar1.SelectionMode = CalendarSelectionMode.None;
break;
case "Day":
Calendar1.SelectionMode = CalendarSelectionMode.Day;
break;
case "DayWeek":
Calendar1.SelectionMode = CalendarSelectionMode.DayWeek;
break;
case "DayWeekMonth":
Calendar1.SelectionMode = CalendarSelectionMode.DayWeekMonth;
break;
}
}
protected void Calendar1_SelectionChanged(object sender, EventArgs e)
{
//当选择日期时激发
Label1.Text = Calendar1.SelectedDate.ToShortDateString();
Label2.Text = Calendar1.SelectedDate.Day.ToString()+"日";
Label3.Text = Calendar1.SelectedDate.Month.ToString()+"月";
Label4.Text = Calendar1.SelectedDate.Year.ToString() + "年";
}
protected void Button1_Click(object sender, EventArgs e)
{
string y = Year.SelectedValue.ToString();
string m = Mouth.SelectedValue.ToString();
string d = Day.SelectedValue.ToString();
Calendar1.VisibleDate = Convert.ToDateTime(y+"-"+m+"-"+d);//设置指定日期,要将日期转化为日期格式
}
protected static DataTable ds(string day)
{ //为日期将要绑定的数据库做个查询
SqlConnection con = new SqlConnection("server=.;uid=sa;pwd=sa;database=pubs;");
SqlDataAdapter sda = new SqlDataAdapter();
sda.SelectCommand = new SqlCommand("select title_id,pubdate,title from titles where pubdate="+day,con);
DataSet ds = new DataSet();
sda.Fill(ds,"titles");
return ds.Tables["titles"];
}
protected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
{
CalendarDay d = e.Day;//设置当前日期
TableCell c = e.Cell;//设置当前表格
if(d.IsOtherMonth)
{//如果是其他月份的话就清除本来的节日
c.Controls.Clear();
}
else
{
try
{
string txt=arr[d.Date.Month][d.Date.Day];//得到完整的当前【月】【日】
if(txt !=string.Empty)//看是否存在东西
{
//仿照博客园的日历来做
string day=e.Day.Date.ToShortDateString();//获取当前日期并转化为短日期格式
foreach(DataRow dr in ds(day).Rows)//循环数据视图中的每一行
{
c.Controls.Clear();//清除所有表格中的元素
c.Controls.Add(new LiteralControl("<a href='http://mgod.cnblogs.com/haha.aspx?dt="+day+"'><b>"+e.Day.Date.Day+"</b></a>"));
}
c.Controls.Add(new LiteralControl("<br>"+txt));//如果有的话,就在日期数字后面换行显示出来了
}
}
catch (Exception ex)
{
Response.Write(ex.ToString());
}
}
}
}
点此下载代码
相关文章推荐
- 日期控件Calendar的简单使用
- ASP.NET Calendar日历(日期)控件使用方法
- ASP.NET AjaxControlToolkit-Framework4.0 配置实用(简单介绍CalendarExtender日期控件)
- jsp日期插件My97DatePicker 强大的日期控件 使用方便简单
- ASP.NET Calendar日历(日期)控件使用方法
- My97DatePicker是一款非常灵活好用的日期控件。使用非常简单。
- ASP.NET基础教程-Calendar日期选择控件的使用
- watir解决如web页面使用梅花雨calendar日期控件对只读控件的设值问题
- jsp日期插件My97DatePicker 强大的日期控件 使用方便简单
- 日期控件CalendarExtender的使用
- 日历控件Calendar使用技巧--根据数据库数据控制日期背景显示颜色
- Calendar日期选择控件的使用
- TextBox和Calendar结合使用(使用ajax控件的简单方法)
- ASP.NET中 Calendar(日期控件)的使用
- DatePickerDialog.日期控件的简单使用
- jsp日期插件My97DatePicker 强大的日期控件 使用方便简单
- 关于My97DatePicker的使用,简单易用的强大日期控件
- jsp日期插件My97DatePicker 强大的日期控件 使用方便简单(转)
- congos 日期控件的简单使用