1. date1.EditValue = DateTime.Now.Date.AddDays().AddHours().AddMinutes().AddSeconds();
  2.  
  3. scLd1.PopupMenuShowing += schedulerControl1_PopupMenuShowing;
  4. scLd1.EditAppointmentFormShowing += schedulerControl1_EditAppointmentFormShowing;
  5. ///增加额外字段 如备注
  6. AppointmentCustomFieldMappingCollection appointCust = schedulerStorage1.Appointments.CustomFieldMappings;
  7.  
  8. appointCust.Add(new AppointmentCustomFieldMapping("Note", "Note"));
  9.  
  10. scLd1.GanttView.ResourcesPerPage = ; //设置资源个数
  11.  
  12. scLd1.InitAppointmentDisplayText += scLd1_InitAppointmentDisplayText; //自定义显示提示
  13.  
  14. SetToolTipControl(scLd1);
  15. SetLabeColor(scLd1.Storage);
  16. InitGrantView(scLd1);
  17. }
  18.  
  19. /// <summary>
  20. /// 设置提示
  21. /// </summary>
  22. /// <param name="sc"></param>
  23. private void SetToolTipControl(DevExpress.XtraScheduler.SchedulerControl sc)
  24. {
  25.  
  26. ToolTipController toolTipController1 = new ToolTipController();
  27.  
  28. toolTipController1.AllowHtmlText = true;
  29.  
  30. toolTipController1.BeforeShow += toolTipController1_BeforeShow;
  31.  
  32. sc.ToolTipController = toolTipController1;
  33. }
  34.  
  35. /// <summary>
  36. /// 设置Appointment颜色
  37. /// </summary>
  38. /// <param name="ss"></param>
  39. private void SetLabeColor(DevExpress.XtraScheduler.SchedulerStorage ss)
  40. {
  41. ///设置块的颜色
  42.  
  43. ss.Appointments.Labels.Clear();
  44.  
  45. ss.Appointments.Labels.Add(new DevExpress.XtraScheduler.AppointmentLabel(Color.Yellow, "生产中"));
  46.  
  47. ss.Appointments.Labels.Add(new DevExpress.XtraScheduler.AppointmentLabel(Color.LightBlue, "生产完成"));
  48.  
  49. ss.Appointments.Labels.Add(new DevExpress.XtraScheduler.AppointmentLabel(Color.Red, "回炉"));
  50.  
  51. ss.Appointments.Labels.Add(new DevExpress.XtraScheduler.AppointmentLabel(Color.Maroon, "其它"));
  52. }
  53.  
  54. /// <summary>
  55. /// 初始化设置
  56. /// </summary>
  57. /// <param name="sc"></param>
  58. private void InitGrantView(DevExpress.XtraScheduler.SchedulerControl sc)
  59. {
  60. //设置资源
  61. sc.GroupType = SchedulerGroupType.Resource;
  62.  
  63. //设置甘特图
  64. sc.ActiveViewType = SchedulerViewType.Gantt;
  65.  
  66. //设置资源+-按钮不可见
  67.  
  68. sc.ResourceNavigator.Visibility = ResourceNavigatorVisibility.Auto;
  69.  
  70. //设置Resource 字体不旋转
  71. sc.OptionsView.ResourceHeaders.RotateCaption = false;
  72. sc.OptionsView.ResourceHeaders.Height = ;
  73. sc.OptionsView.ShowOnlyResourceAppointments = true;
  74.  
  75. //行为设置
  76.  
  77. sc.OptionsBehavior.MouseWheelScrollAction = MouseWheelScrollAction.Auto;
  78.  
  79. sc.OptionsBehavior.RecurrentAppointmentDeleteAction = RecurrentAppointmentAction.Cancel;
  80. sc.OptionsBehavior.RecurrentAppointmentEditAction = RecurrentAppointmentAction.Cancel;
  81. sc.OptionsBehavior.RemindersFormDefaultAction = RemindersFormDefaultAction.DismissAll;
  82.  
  83. //自定义动作设置
  84.  
  85. //禁止块冲突
  86. sc.OptionsCustomization.AllowAppointmentConflicts = AppointmentConflictsMode.Allowed;
  87. //不允许复制
  88. sc.OptionsCustomization.AllowAppointmentCopy = UsedAppointmentType.None;
  89. //不允许创建
  90. sc.OptionsCustomization.AllowAppointmentCreate = UsedAppointmentType.None;
  91. //不允许删除
  92. sc.OptionsCustomization.AllowAppointmentDelete = UsedAppointmentType.None;
  93. //不允许拖到
  94. sc.OptionsCustomization.AllowAppointmentDrag = UsedAppointmentType.None;
  95. //不允许不同资源间创建
  96. sc.OptionsCustomization.AllowAppointmentDragBetweenResources = UsedAppointmentType.None;
  97. //允许编辑
  98. sc.OptionsCustomization.AllowAppointmentEdit = UsedAppointmentType.All;
  99. //不允许多个选择
  100. sc.OptionsCustomization.AllowAppointmentMultiSelect = false;
  101. //不允许改变大小
  102. sc.OptionsCustomization.AllowAppointmentResize = UsedAppointmentType.None;
  103. //不允许依赖窗体弹出
  104. sc.OptionsCustomization.AllowDisplayAppointmentDependencyForm = AllowDisplayAppointmentDependencyForm.Never;
  105. //允许Appointment窗体弹出
  106. sc.OptionsCustomization.AllowDisplayAppointmentForm = AllowDisplayAppointmentForm.Auto;
  107. //不允许编辑文字
  108. sc.OptionsCustomization.AllowInplaceEditor = UsedAppointmentType.None;
  109.  
  110. //GrantView
  111. sc.Views.GanttView.CellsAutoHeightOptions.Enabled = true;//设置单元格不自适应高度
  112.  
  113. sc.Views.GanttView.CellsAutoHeightOptions.MinHeight = ;//设置最小高度
  114.  
  115. //设置Appointment 的高度不自适应
  116. sc.Views.GanttView.AppointmentDisplayOptions.AppointmentAutoHeight = true;
  117. sc.Views.GanttView.AppointmentDisplayOptions.AppointmentHeight = ;
  118. sc.Views.GanttView.AppointmentDisplayOptions.AppointmentInterspacing = ;
  119. sc.Views.GanttView.AppointmentDisplayOptions.ContinueArrowDisplayType = AppointmentContinueArrowDisplayType.Never;
  120. //不显示开始时间
  121. sc.Views.GanttView.AppointmentDisplayOptions.StartTimeVisibility = AppointmentTimeVisibility.Never;
  122. //不显示结束时间
  123. sc.Views.GanttView.AppointmentDisplayOptions.EndTimeVisibility = AppointmentTimeVisibility.Never;
  124. //不显示进度条
  125. sc.Views.GanttView.AppointmentDisplayOptions.PercentCompleteDisplayType = PercentCompleteDisplayType.None;
  126. //不显示恢复
  127. sc.Views.GanttView.AppointmentDisplayOptions.ShowRecurrence = false;
  128. //不显示提醒
  129. sc.Views.GanttView.AppointmentDisplayOptions.ShowReminder = false;
  130. sc.Views.GanttView.AppointmentDisplayOptions.SnapToCellsMode = AppointmentSnapToCellsMode.Never;
  131. //不显示状态
  132. sc.Views.GanttView.AppointmentDisplayOptions.StatusDisplayType = AppointmentStatusDisplayType.Never;
  133. //显示样式
  134. sc.Views.GanttView.AppointmentDisplayOptions.TimeDisplayType = AppointmentTimeDisplayType.Text;
  135.  
  136. //显示颜色
  137.  
  138. sc.Views.GanttView.Appearance.Dependency.ForeColor = Color.Red;
  139.  
  140. sc.Views.GanttView.Appearance.SelectedDependency.ForeColor = Color.Blue;
  141.  
  142. sc.Views.GanttView.Scales.Clear();//清空
  143.  
  144. DevExpress.XtraScheduler.TimeScaleDay td = new TimeScaleDay();
  145. td.DisplayFormat = "yyyy-MM-dd";
  146. td.Enabled = true;
  147.  
  148. DevExpress.XtraScheduler.TimeScale15Minutes tm = new TimeScale15Minutes();
  149. tm.Enabled = true;
  150.  
  151. sc.Views.GanttView.Scales.Add(td);
  152. sc.Views.GanttView.Scales.Add(tm);
  153. }
  154.  
  155. void scLd1_InitAppointmentDisplayText(object sender, AppointmentDisplayTextEventArgs e)
  156. {
  157. Appointment apt = e.Appointment;
  158. e.Text = GetCustomSubject(apt);
  159. }
  160. string GetCustomSubject(Appointment apt)
  161. {
  162. string s = apt.Subject;
  163. if (apt.Location.Length > )
  164. {
  165. s += String.Format("\r\n[{0}]", apt.Location);
  166. }
  167. return s;
  168. }
  169. void toolTipController1_BeforeShow(object sender, ToolTipControllerShowEventArgs e)
  170. {
  171. ToolTipController controller = sender as ToolTipController;
  172. AppointmentViewInfo aptViewInfo = controller.ActiveObject as AppointmentViewInfo;
  173.  
  174. if (aptViewInfo == null) return;
  175. var app = aptViewInfo.Appointment;
  176.  
  177. e.IconType = ToolTipIconType.Information;
  178. e.Title = app.Subject;
  179. e.ToolTip = string.Format("{0},{1}", app.Location, app.CustomFields["Note"]);
  180.  
  181. }
  182. /// <summary>
  183. /// 清空菜单,自定义菜单
  184. /// </summary>
  185. /// <param name="sender"></param>
  186. /// <param name="e"></param>
  187. void schedulerControl1_PopupMenuShowing(object sender, DevExpress.XtraScheduler.PopupMenuShowingEventArgs e)
  188. {
  189.  
  190. //DXMenuItem item = new DXMenuItem("菜单项");
  191. if (scLd1.ActiveViewType == DevExpress.XtraScheduler.SchedulerViewType.Day)//不同view展示不同菜单项
  192. {
  193. }
  194. if (e.Menu.Id == DevExpress.XtraScheduler.SchedulerMenuItemId.DefaultMenu)//右键空白处
  195. {
  196. e.Menu.Items.Clear();
  197.  
  198. }
  199.  
  200. if (e.Menu.Id == DevExpress.XtraScheduler.SchedulerMenuItemId.AppointmentMenu)//appointment 上右键
  201. {
  202. e.Menu.Items.Clear();
  203. //e.Menu.Items.Add(item);
  204. }
  205.  
  206. }
  207. private void schedulerControl1_EditAppointmentFormShowing(object sender, DevExpress.XtraScheduler.AppointmentFormEventArgs e)
  208. {
  209. DevExpress.XtraScheduler.SchedulerControl scheduler = ((DevExpress.XtraScheduler.SchedulerControl)(sender));
  210.  
  211. using( AppiontmentForm form = new AppiontmentForm(scheduler, e.Appointment, e.OpenRecurrenceForm))
  212. {
  213. form.ShowDialog();
  214. e.Handled = true;
  215. }
  216.  
  217. }

设置绑定数据资源类 ,设置Appointment类,设置依赖关系类。具体字体参考Mapping的设置。

Dev 甘特图的更多相关文章

  1. Twproject Gantt开源甘特图功能扩展

    1.Twproject Gantt甘特图介绍 Twproject Gantt 是一款基于 jQuery 开发的甘特图组件,也可以创建其它图表,例如任务树(Task Trees).内置编辑.缩放和 CS ...

  2. 从零开始编写自己的C#框架(10)——项目实施计划与甘特图

    不知不觉本系列已经写了一个月,编码前的各项工作到此也终于结束了.回头看看这一个月走过来,白天上班晚上码字查资料,写写改改,挺不容易的.很多时候有些知识会用,知道是怎么回事,但并不等于能写出来.错别字. ...

  3. java实现甘特图的2种方法:SwiftGantt和Jfree (转)

    http://blog.sina.com.cn/s/blog_50a7c4a601009817.html 第一种方法使用SwiftGantt实现甘特图(进度图推荐这个)   import java.a ...

  4. 使用Excel 2007绘制甘特图

    本文将教大家如何使用Excel 2007制作甘特图.Excel并未提供甘特图类型,但还是可以绘制甘特图的,方法就是通过对堆积条形图类型进行自定义,使之显示任务.任务工期和层次结构. 下面的过程可帮助创 ...

  5. jquery 甘特图开发指南

    JQuery.Gantt是一个开源的基于JQuery库的用于实现甘特图效果的可扩展功能的JS组件库. <link rel="stylesheet" href="cs ...

  6. gantt甘特图的制作过程

    甘特图主要是用来做项目管理的,可以清楚的看到任务间的逻辑关系,任务与时间关系和任务间并行关系. 在甘特图中,横轴方向表示时间,纵轴方向并列着活动列表.图表内可以用线条.数字.文字代号等来表示计划(实际 ...

  7. JS中可拖拽的甘特图和流程图

    甘特图: https://www.douban.com/note/441706674/ https://www.uedsc.com/jquery-ganttview.html https://gith ...

  8. WindowsForm如何实现类似微软project软件的甘特图?

    在管理软件研发过程中,特别是涉及项目管理或者生产计划方面,都需要一款类似微软project的控件对项目下的分解任务进行图形展示(甘特图).下面介绍一下在WindowsForm下如何实现类似微软proj ...

  9. 一款开源且功能强大的C#甘特图控件.NET Winforms Gantt Chart Control

    甘特图在项目管理中非常重要,甘特图的思想比较简单,即以图示的方式通过活动列表和时间刻度形象地表示出任何特定项目的活动顺序与持续时间.它直观地表明任务计划在什么时候进行,及实际进展与计划要求的对比.管理 ...

随机推荐

  1. C语言之结构体

    结构体类型 C语言中还有一种类型叫做结构体类型,它是可以保存不同类型数据并且可以把这些不同类型的数据当做一个整体来管理的类型 1).结构体的定义 语法: struct 结构体名{ 成员列表; };   ...

  2. 通过python为zabbix发送告警邮件

    最近部署ZABBIX的邮件告警时,用刚学的python来写告警邮件脚本. 由于时间有限,我只对关键步骤做截图,对zabbix的基本配置略过. python代码如下 1 #!/usr/bin/pytho ...

  3. 背水一战 Windows 10 (38) - 控件(布局类): Panel, Canvas, RelativePanel, StackPanel, Grid

    [源码下载] 背水一战 Windows 10 (38) - 控件(布局类): Panel, Canvas, RelativePanel, StackPanel, Grid 作者:webabcd 介绍背 ...

  4. Unity在安卓的一些路径

    APK安装之后找不到路径 公司的测试机(安卓)基本都是不带SD卡的. APK在安卓手机上安装之后,使用手机助手类的软件打开文件管理,打开 内置SDK卡/Android/data/ 在这个目录下却发现 ...

  5. PostScript学习:另一种缩写为PS的技术

    1.前言 PostScript是一种编程语言,直译为"后处理脚本"[相对印刷过程而言],学名为页面描述语言.更为详细的解释见维基百科,以及其翻译版百度百科. 值得一提的是,Post ...

  6. 为知笔记markdown插件安装

    Wiz.Editor.md 是一个基于 Editor.md 构建的为知笔记 Markdown 插件. 主要特性 多种样式主题 支持实时预览 支持代码高亮 支持搜索替换 支持ToC目录 Tex数学公式 ...

  7. CSS3效果收集

    收集一些 CSS3 效果 1. 闪烁字效果 原效果>>

  8. orm2

    数据库连接 var orm = require("orm"); orm.connect("mysql://username:password@host/database& ...

  9. 动态网站加速,cdn义不容辞

    "双十一"大战已经落下帷幕,各大电商纷纷拿出了亮眼的成绩单,但在这些成绩单的背后,CDN加速技术是功不可没的.随着互联网的发展,电商.视频直播等网站的火热,以及各个云加速平台的流行 ...

  10. jQuery的入门操作

    jQuery html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,add ...