Calendar日历控件:

      1. MSDN中的概述:
         Calendar Web 服务器控件在 ASP.NET 网页中显示一个单月份日历。用户可使用该日历查看和选择日期。
         可以使用 Calendar Web 服务器控件执行下面的操作:
            (1) 显示和选择日期:该控件显示一个日历,用户通过此日历可定位到任意一年中的任意一天。设置 SelectedDate 属性,使某个特定的日期在控件中突出显示。用户还可通过单击一个日或在不同的月份之间移动以移动到任意日期。还可配置日历模式以允许用户选择多个日期,包括整周或整月:
模式 描述
Day 用户只能选择一天
DayWeek

用户可以选择一天或者一周

DayWeekMonth 用户可选择一天、一周或者一个月
None

用户不能选择

            (2) 在日历网格中显示自定义约会、纪念日或其他特别信息   Calendar 控件可为个别日显示该日特定的详细信息,如一份事务列表、一份事件时间表或类似的信息。该功能允许您显示数据库中的日信息。
 通过对Calendar控件的DayRander事件进行编成,可以在显示日期的时候轻松显示自定义的节日。具体方法将在稍后介绍。

      2. 如何:在 Calendar 控件中显示数据库中的选定日期:
         Calendar 控件并不直接支持数据绑定,也就是说,您不能像AdRotater控件那样将日历控件作为一个整体绑定到数据源。相反,您需要编写代码来获取所需数据,然后就可以在 DayRender 事件中,将当前呈现的日期与从数据源读取的数据进行比较。
         (1) 建立数据表(名称:Calendar):
            
列名称 数据类型 说明

ID

int

这是主键。此列可给定任何名称。

HolidayDay

datetime

保存自定义的特殊日期。

Holiday

nvarchar(length)

保存自定义特殊日期的现实文本。

            在表中插入数据。
         (2) 因为Calendar控件无法直接绑定到数据源所以需要建立数据集(DataSet),名称为Test。其中加入数据适配器(TableAdapter)。

            将该查询方法名称设置为GetHol。该步完成后系统将自动生成表对象(Calendar)和查询方法(GetHol)。
         (3) 在网页设计页面简单放置一个Calendar控件,在控件的时间列表里分别制定它的VisibleMonthChanged、DayRender方法名。
         (4) 在页面后端代码(.cs)文件中为Calendar控件编写添加特殊日期的方法和配套方法。
            完成代码如下:


         (5)至此完成设计,在浏览器中测试一下吧。通过选择不同的月份就可以看到相应月中的自定义节日和你的特殊日期信息了。

      此外还可以将日期保存在一个31*12的多维数组中,更形象地与当前日期进行比较。但是也仅仅是数据源不同而已。祝您编程愉快!

posted on 2006-12-29 13:00  zhangdong  阅读(651)  评论(0编辑  收藏  举报