原创  asp.net日历控件自定义单元格内容 收藏

对日历控件的DayRender事件进行编程,达到自定义单元格内容的效果。

以下代码是日程管理功能的一个雏形,请大家指正,谢谢。

    protected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
    {

        //首先隐藏掉默认的日显示字符
        e.Cell.Controls[0].Visible = false;

        //自定义一个日显示格式,如果是一个月的第一天就加上月份,否则只显示日
        Label lblmonth = new Label();
        if (e.Day.Date.Day == 1)
        {
            lblmonth.Text = e.Day.Date.Month.ToString() + "月" + e.Day.Date.Day.ToString() + "号<br>";
        }
        else
        {
            lblmonth.Text = e.Day.Date.Day.ToString() + "号<br>";
        }
        e.Cell.Controls.Add(lblmonth);

        //增加一个链接
        HyperLink hlevent_add = new HyperLink();
        hlevent_add.Text = "+<br>";
        hlevent_add.NavigateUrl = "event_add.aspx?select_date=" + Server.UrlEncode(e.Day.Date.ToLongDateString());
        hlevent_add.ToolTip = "添加新的日程";
        e.Cell.Controls.Add(hlevent_add);

        //从数据库中取得等于当前单元格日期的记录,并添加到日单元格。
        webscheduleTableAdapters.user_eventsTableAdapter ta_user_events_bydate = new webscheduleTableAdapters.user_eventsTableAdapter();
        DataRowCollection drc_user_event = ta_user_events_bydate.get_user_events_bydate(e.Day.Date).Rows;
        foreach (DataRow dr_user_event in drc_user_event)
        {
            HyperLink hlevent = new HyperLink();
            hlevent.Text = dr_user_event.ItemArray[2].ToString() + "<br>";
            hlevent.NavigateUrl = "event_edit.aspx?event_id=" + dr_user_event.ItemArray[0].ToString();
            hlevent.ToolTip = "主题:" + dr_user_event.ItemArray[2].ToString() + "\n时间:" + dr_user_event.ItemArray[4].ToString() + ":" + dr_user_event.ItemArray[5].ToString() + "\n地点:" + dr_user_event.ItemArray[6].ToString();
            e.Cell.Controls.Add(hlevent);
        } 

发表于 @ 2007年06月28日 17:15:00 | 评论( loading... ) | 编辑| 举报| 收藏

旧一篇:实现小数据量和海量数据的通用分页显示存储过程 | 新一篇:c#公历转换到农历类

  • 发表评论
  • 评论内容:
  •  
Copyright © Novelty
Powered by CSDN Blog