信息产业培训网

C#高级编程:定制日历控件[2]

http://www.miiceic.org.cn   2008-2-27 16:09:02   中程在线   浏览数:
关键字:.net

    接着需要响应日历上的日期选择。为此,需要先为日历的SelectionChanged事件添加一个事件处理程序,强制检查现有会议的日期。双击设计器中的日历,添加如下代码:
          private void calendar_SelectionChanged(object sender,
                                                   System.EventArgs e)
          {
             System.DateTime trialDate = calendar.SelectedDate;
             calendar.SelectedDate = getFreeDate(trialDate);
          }

    这段代码与Page_Load()相同。

    执行这种检查的第三个地方是响应登记按钮的单击。后面会解释它,因为后面进行了许多改变。

    接着把日历的日期单元格变为另一种颜色,以表示现存的会议。为此,需要给日期对象的DayRender事件添加一个事件处理程序。每次显示一个日期时,都会触发这个事件,并允许通过在处理程序中接收到的DayRenderEventArgs参数的Cell 和 Date属性,访问要显示的单元格对象和这个单元格的日期。我们需要比较要显示的单元格中的日期和eventTable对象中的日期,如果匹配,就可以使用Cell.BackColor属性为单元格着色:
          protected void calendar_DayRender(object sender,
                         System.Web.UI.WebControls.DayRenderEventArgs e)
          {
             if (eventTable.Rows.Count > 0)
             {
                System.DateTime testDate;
                foreach (System.Data.DataRow testRow in eventTable.Rows)
                {
                   testDate = (System.DateTime)testRow["EventDate"];
                   if (testDate.Date == e.Day.Date)
                   {
                      e.Cell.BackColor = Color.Red;
                   }
                }
             }
          }

    这里使用红色,得到屏幕图25-6。三月的15、27、28、29和30日都有会议,所以用户选择了17日。


图  25-6

    添加了日期选择逻辑后,就不可能选择显示为红色的一天,如果要选择这样的日期,就会选择该日期后面的某一天。例如,在图25-6的日历中单击3月28日,就会选择31日。

来源:csai
相关连接
最新评论
*以下网友发言不代表中程在线网站的观点和看法
    我要评论

    请您注意
    1、遵守中华人民共和国的各项有关法律规定
    2、承担一切因您的行为而导致的法律责任
    3、本网留言管理人员有权删除其管辖留言内容
    4、您在本网的留言本网有权在网站内转载和引用
    5、参与本留言即表明您已经阅读并接受上述条款
    我爱研发网希赛网软件测试网中电华信太平洋电脑网天空网
    电脑爱好者泡泡网华军软件霏凡软件站软件开发网腾讯网
    eNet下载汉化新世纪小熊在线BIOS之家数动连线....[更多]
    关于我们 | 网站地图 | 周边住宿 | 行车路线 | 联系我们 | 网站律师 | 意见反馈 | 虚位以待 | 友情链接
    中程在线(北京)科技有限公司 版权所有
    总 部:北京市海淀区青东商务楼A座西四层
    企业培训部:010-52636110 52636106 就业培训部:010-68716925 68716926
    邮 件:training@miiceic.org.cn
    京ICP备06053134号
    Copyright © 2005-2008 Miiceic.org.cn All Rights Reserved