您的位置:首页 > 其它

.net Calendar控件使用说明

2011-09-30 09:42 495 查看

1、定义和用法

Calendar 控件用于在浏览器中显示日历。

该控件可显示某个月的日历,允许用户选择日期,也可以跳到前一个或下一个月。

2、属性

属性
描述
.NET
Caption
日历的标题。
2.0
CaptionAlign
日历标题文本的对齐方式。
2.0
CellPadding
单元格边框与内容之间的空白,以像素计。
1.0
CellSpacing
单元格之间的空白,以像素计。
1.0
DayHeaderStyle
显示一周中某天的名称的样式。
1.0
DayNameFormat
显示周中各天的名称格式。
1.0
DayStyle
显示日期的样式。
1.0
FirstDayOfWeek
哪天是周的第一天。
1.0
NextMonthText
显示下一月链接的文本。
1.0
NextPrevFormat
下一月和上一月链接的格式。
1.0
NextPrevStyle
显示下一月和上一月链接的样式。
1.0
OtherMonthDayStyle
显示不在当前月中的日期的样式。
1.0
PrevMonthText
显示上一月链接的文本。
1.0
runat
规定该控件是服务器控件。必须设置为 "server"。
1.0
SelectedDate
选定的日期。
1.0
SelectedDates
选定的日期。
1.0
SelectedDayStyle
选定日期的样式。
1.0
SelectionMode
允许用户如何选择日期。
1.0
SelectMonthText
显示为月份选择链接的文本。
1.0
SelectorStyle
月份和周的选择链接的样式。
1.0
SelectWeekText
显示为周的选择链接的文本。
1.0
ShowDayHeader
布尔值,该值指示是否显示一周中各天的标头。
1.0
ShowGridLines
布尔值,规定是否显示日期之间的网格线。
1.0
ShowNextPrevMonth
布尔值,规定是否显示下一月和上一月链接。
1.0
ShowTitle
布尔值,规定是否现实日期的标题。
1.0
TitleFormat
日期标题的格式。
1.0
TitleStyle
日期标题的样式。
1.0
TodayDayStyle
当天的日期的样式。
1.0
TodaysDate
获取或设置今天的日期的值。
1.0
UseAccessibleHeader
规定是否使用 <th> 来代替 <td> 元素用于日的头部。
2.0
VisibleDate
获取或设置指定要在 Calendar 控件上显示的月份的日期。
1.0
WeekendDayStyle
周末的样式。
1.0
OnDayRender
当每一天的单元格被创建时,所执行的函数的名称。
OnSelectionChanged
当用户选择天、周或月时 ,所执行的函数的名称。
OnVisibleMonthChanged
当用户导航到不同的月时,所执行的函数的名称。

3、Web 控件标准属性

AccessKey, Attributes, BackColor, BorderColor, BorderStyle, BorderWidth,

CssClass, Enabled, Font, EnableTheming, ForeColor, Height, IsEnabled,

SkinID, Style, TabIndex, ToolTip, Width

4、控件标准属性

AppRelativeTemplateSourceDirectory, BindingContainer, ClientID, Controls,

EnableTheming, EnableViewState, ID, NamingContainer, Page, Parent, Site,

TemplateControl, TemplateSourceDirectory, UniqueID, Visible


5、示例

1、使用默认属性的代码

<asp:Calendar ID="Calendar2" runat="server" ></asp:Calendar>
2、可以通过只能提示选择不同的样式,自动套用格式。

3、更多样式,可以通过属性进行修改使用。

6、使用问题总结

1、使用Calendar控件的时候,只显示当前月的Day信息。

使用方法: OnDayRender控制天的显示。

源码:

protected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
{
/**
* 日历控件显示的天包括上月、本月、下月等信息。
* 通过下面代码,可以控制控件只显示当前月份的Day信息。
* 资料来源:http://topic.csdn.net/u/20100118/10/a3de1a1d-93a5-420a-b0d0-6d83b9a41bf7.html
*/
if (e.Day.IsOtherMonth) {
e.Cell.Controls.Clear();
}
}
2、使用Calendar控件实现日程表的样式。即:如果某天有安排,就高亮显示这一天。否则,正常显示。
依然使用OnDayRender方法
思路:把需要高亮显示的日期,保存到List<DateTime>中,然后通过OnDayRender方法,控制这些日期的显示样式。
源码:
private List<DateTime> lst = new List<DateTime>();//保存需要高亮显示的日期集合
private int year = DateTime.Now.Year;
private int month = DateTime.Now.Month;
protected void Page_Load(object sender, EventArgs e)
{
lst.Clear();
for (int i = 1; i < 30; i += 2) {
lst.Add(new DateTime(year,month,i));
}
}

protected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
{
foreach (DateTime dt in lst) {
if (e.Day.Date.Subtract(dt).Days == 0) {
e.Cell.BackColor = System.Drawing.Color.Red;//高亮显示的日期,背景色为红色。
}
}
}

7、附录

1、Calendar更多帮助信息:http://www.w3school.com.cn/aspnet/control_calendar.asp

2、MSDN帮助信息: http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.calendar(v=vs.80).aspx 3、现在也有很多用js写的时间控件,比如:Jqueryui的Datepicker等等。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: