乞丐中的霸主(ぃ枫.net)(天行健,君子以自强不息;地势坤,君子以厚德载物! -《周易》)QQ讨论群(交流EVC++,VC++,USB驱动程序开发,上下机位通讯,无线网络通讯技术,Mobile开发)帮主QQ号:414885058

C#,C++ 学习

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

这个控件看起来不错。
功能:
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
posted on 2007-10-30 10:56  arvin2012  阅读(1458)  评论(3编辑  收藏  举报