• λ我爱Aspx >> Asp.Net >> DayPilotCalendar:像OutLook一样的 计划任务日程表 控件,for asp.net2.0
  • DayPilotCalendar:像OutLook一样的 计划任务日程表 控件,for asp.net2.0

  • :cnblogs  Դ:cnblogs  :2007-10-20 22:27:06  ؼ:.net,asp.net,asp.net2.0,asp
  • 这个控件看起来不错。
    功能:
    1:提供Calendar的ContextMenu,右键调出。回发处理方式多样。支持AJAX
    2:视图多种:可以显示天任务,也可以显示多天的,比方说1周内的计划任务
    3:提供js事件和回发的Command事件处理。
    4:支持DataTable数据绑定,xml数据绑定等
    5:动态编辑任务,鼠标多选,拖动。js实现。
    6:提供客户化的接口甚多。比方说时间格式,字体之类的。

     
    英文介绍地址:http://www.codeproject.com/useritems/daypilot2.asp
    图片:




    下载:
    http://www.daypilot.org/try.html

    介绍:
    几个重要属性的介绍

    ContextMenuID="DayPilotMenu1" //上下文菜单的ID
    DataEndField="end" //日期结束的字段
    DataStartField="start" //日期时间开始的字段
    DataTextField="name"//要在界面上显示的字段
    DataValueField="id"//要绑定的值的字段。和DropDownList相像
    Days="7" //这个比较重要。是现实几天数据的。这里设置的就是显示一周的数据。
    //事件处理的方式
    EventClickHandling="Edit" 
    EventEditHandling="CallBack"  
    EventMoveHandling="CallBack" 
    EventResizeHandling="CallBack" 
    EventEditHandling=“CallBack”;
    EventMoveHandling=“CallBack”;
    EventResizeHandling="CallBack"
    //事件处理
    OnEventClick="DayPilotCalendar1_EventClick" 
    OnEventEdit="DayPilotCalendar1_EventEdit" 
    OnEventMenuClick="DayPilotCalendar1_EventMenuClick" 
    OnEventMove="DayPilotCalendar1_EventMove"
    OnEventResize="DayPilotCalendar1_EventResize" 
    OnTimeRangeSelected="DayPilotCalendar1_TimeRangeSelected"
    //其他
    HeightSpec="BusinessHours"
    Style="left: 54px; top: 45px" TimeRangeSelectedHandling="CallBack"

    看看上下文菜单

     1   <daypilot:DayPilotMenu ID="DayPilotMenu1" runat="server">
     2        <daypilot:MenuItem Action="JavaScript" JavaScript="alert('Opening event (id {0})');"
     3            Text="Open" />
     4        <daypilot:MenuItem Action="JavaScript" JavaScript="alert('Sending event (id {0})');"
     5            Text="Send" />
     6        <daypilot:MenuItem Action="NavigateUrl" Text="-" />
     7        <daypilot:MenuItem Action="Callback" Command="Delete" Text="Delete (CallBack)" />
     8        <daypilot:MenuItem Action="PostBack" Command="Delete" Text="Delete (PostBack)" />
     9    </daypilot:DayPilotMenu>
    10


    这是数据绑定的代码,看起来很熟悉

     1        DayPilotCalendar1.StartDate = DayPilot.Utils.Week.FirstDayOfWeek(DateTime.Today);
     2
     3        if (!IsPostBack)
     4        {
     5            if (Session["AllFeatures"== null)
     6                Session["AllFeatures"= DataGenerator.GetData();//生成测试用的数据
     7
     8            DayPilotCalendar1.DataSource = Session["AllFeatures"];//就是设置DataTable做数据源了
     9            DataBind();
    10        }

    11
    12


    这一个是数据源的定义

     1public class DataGenerator
     2{
     3    public static DataTable GetData()
     4    {
     5        DataTable dt;
     6        dt = new DataTable();
     7        dt.Columns.Add("start"typeof(DateTime));
     8        dt.Columns.Add("end"typeof(DateTime));
     9        dt.Columns.Add("name"typeof(string));
    10        dt.Columns.Add("id"typeof(string));
    11        dt.Columns.Add("column"typeof(string));
    12
    13        DataRow dr;
    14
    15        dr = dt.NewRow();
    16        dr["id"= 0;
    17        dr["start"= Convert.ToDateTime("15:50");
    18        dr["end"= Convert.ToDateTime("15:55");
    19        dr["name"= "Event 1";
    20        dr["column"= "A";
    21        dt.Rows.Add(dr);
    22
    23        dr = dt.NewRow();
    24        dr["id"= 1;
    25        dr["start"= Convert.ToDateTime("16:00");
    26        dr["end"= Convert.ToDateTime("17:00");
    27        dr["name"= "Event 2";
    28        dr["column"= "A";
    29        dt.Rows.Add(dr);
    30
    31        dr = dt.NewRow();
    32        dr["id"= 2;
    33        dr["start"= Convert.ToDateTime("16:15").AddDays(1);
    34        dr["end"= Convert.ToDateTime("18:45").AddDays(1);
    35        dr["name"= "Event 3";
    36        dr["column"= "A";
    37        dt.Rows.Add(dr);
    38
    39        dr = dt.NewRow();
    40        dr["id"= 3;
    41        dr["start"= Convert.ToDateTime("16:30");
    42        dr["end"= Convert.ToDateTime("17:30");
    43        dr["name"= "Sales Dept. Meeting Once Again";
    44        dr["column"= "B";
    45        dt.Rows.Add(dr);
    46
    47        dr = dt.NewRow();
    48        dr["id"= 4;
    49        dr["start"= Convert.ToDateTime("8:00");
    50        dr["end"= Convert.ToDateTime("9:00");
    51        dr["name"= "Event 4";
    52        dr["column"= "B";
    53        dt.Rows.Add(dr);
    54
    55        dr = dt.NewRow();
    56        dr["id"= 5;
    57        dr["start"= Convert.ToDateTime("22:00");
    58        dr["end"= Convert.ToDateTime("6:00").AddDays(1);
    59        dr["name"= "Event 5";
    60        dt.Rows.Add(dr);
    61
    62
    63        dr = dt.NewRow();
    64        dr["id"= 6;
    65        dr["start"= Convert.ToDateTime("11:00");
    66        dr["end"= Convert.ToDateTime("13:00");
    67        dr["name"= "Event 6";
    68        dt.Rows.Add(dr);
    69
    70        dt.PrimaryKey = new DataColumn[] { dt.Columns["id"] };
    71
    72        return dt;
    73
    74    }

    75}

    76
    77


    有demo可以下载的,具体代码里面都有。这里提供的代码也全部都是来自他提供的Demo

    Ҷƪл˵?
  • һƪ没有了!
    һƪASP.NET基础教程:C#与JAVA的比较