lomg 发表于 2015-9-12 13:47:47

DayPilotCalendar:像OutLook一样的 计划任务日程表 控件,for asp.net2.0

  这个控件看起来不错。
功能:
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
页: [1]
查看完整版本: DayPilotCalendar:像OutLook一样的 计划任务日程表 控件,for asp.net2.0