提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:莫成敏|2019-10-18 13:58:06.877|阅读 284 次
概述:VARCHART XGantt是用于工业4.0项目管理、交互式的甘特图绝佳解决方案,世界级甘特图大师。本教程介绍如何使用日历,由于教程内容较多,本文至介绍一部分内容。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
VARCHART XGantt是一个交互式的甘特图控件,其模块化的设计让您可以创建满足您和您的客户所需求的应用程序。相较于其他甘特图控件,VARCHART XGantt稳定性高,开发时间长,各大行业的知名公司都在使用它。本文主要描述了如何使用日历教程中的一部分内容,现在跟着小编来了解一下吧~
日历表示工作时间和非工作时间的无间隔序列。在具有可变配置文件的日历(轮班日历)中,不同的时间段会重复成功,例如早、晚或夜班。日历本身没有视觉外观,仅是工作时间和非工作时间的逻辑区别。只有将日历分配给CalendarGrid对象,日历才能变得可见。
在VARCHART XGantt中,日历还可以从工期中得出节点的开始和结束日期。如果未设置其他选项,则将使用名为BaseCalendar的预定义基本日历进行所有计算。在基本日历中,将星期一至星期五定义为工作时间,而星期日和星期六则不工作。如果需要,可以修改基本日历。
定义日历
日历可以在设计时通过属性页定义,也可以在运行时通过应用程序编程接口(API)定义。在本文中,我们将从开发人员的角度解释日历的基本处理,并提供一些C#编程示例。
在VcGantt控件中,存在一个对象VcCalendarCollection,它负责管理所有日历。它具有与VARCHART XGantt中的其他集合类似的管理功能。预定义的BaseCalendar和在设计时创建的任何其他日历会自动构成集合的一部分。
可以通过CalendarCollection对象的Add方法创建一个新日历。该方法需要唯一的名称才能识别日历。最初,新日历仅由工作时间组成。
请注意:日历必须至少包含一个时间间隔,因为不能存在包含非工作时间的日历。
为了使我们的编程示例的结果可在甘特图的图片中得到验证,为编程示例中的时间范围定义了从2011年1月1日到2011年12月31日的恒定时间段。如果日历在集合中被激活,则日历只能在甘特图的背景中可见:
示例代码
'To Create and to activate a new calendar Dim calendar As VcCalendar VcGantt1.TimeScaleEnd = "01.01.2012" VcGantt1.TimeScaleStart = "01.01.2011" Set calendar = VcGantt1.CalendarCollection.Add("CompanyCalendar1") VcGantt1.CalendarCollection.Active = calendar
如果现在希望重新激活默认的基本日历,则可以通过以下设置来执行此操作:
示例代码
'To re-activate the default calendar Dim calendar As VcCalendar Set calendar = VcGantt1.CalendarCollection.CalendarByName("BaseCalendar") VcGantt1.CalendarCollection.Active = calendar
在下面的示例中,我们将显示如何按时间间隔定义工作时间配置文件。定义非工作日的不规则模式:2011年1月1日以及2011年1月6日至1月20日,除了10日和11日的两天:
示例代码
'Defining non-working times VcGantt1.TimeScaleEnd = "01.01.2012" VcGantt1.TimeScaleStart = "01.01.2011" Dim calendar As VcCalendar Set calendar = VcGantt1.CalendarCollection.Add("CompanyCalendar1") VcGantt1.CalendarCollection.Active = calendar Dim interval As VcInterval Set interval = calendar.IntervalCollection.Add("NewYear") interval.CalendarProfileName = "" interval.StartDateTime = "01.01.2011" interval.EndDateTime = "02.01.2011" Set interval = calendar.IntervalCollection.Add("NonworkPeriod") interval.CalendarProfileName = "" interval.StartDateTime = "06.01.2011" interval.EndDateTime = "21.01.2011" Set interval = calendar.IntervalCollection.Add("WorkPeriod") interval.CalendarProfileName = "" interval.StartDateTime = "11.01.2011" interval.EndDateTime = "13.01.2011" VcGantt1.CalendarCollection.Update
在视觉上,可以通过浅灰色阴影来识别非工作时间。由于默认情况下工作时间没有颜色,因此图表的白色背景在其中仍然可见。在下一步中,我们希望工作时间以浅黄色显示,非工作时间以浅蓝色显示。颜色由可在间隔处定义的图形属性产生。
示例代码
'Assigning colors to intervals VcGantt1.TimeScaleEnd = "01.01.2012" VcGantt1.TimeScaleStart = "01.01.2011" Dim calendar As VcCalendar Set calendar = VcGantt1.CalendarCollection.Add("CompanyCalendar1") VcGantt1.CalendarCollection.Active = calendar VcGantt1.TimeScaleCollection.FirstTimeScale.Section(0).CalendarGridEx(0) .UseGraphicalAttributesOfIntervals = True Dim interval As VcInterval Set interval = calendar.IntervalCollection.Add("Work") interval.CalendarProfileName = "" interval.BackColorAsARGB = &HFFFFFFE0 interval.UseGraphicalAttributes = True Set interval = calendar.IntervalCollection.Add("NewYear") interval.CalendarProfileName = "" interval.StartDateTime = "01.01.2011" interval.EndDateTime = "02.01.2011" interval.BackColorAsARGB = &HFFD4E3F5 interval.UseGraphicalAttributes = True Set interval = calendar.IntervalCollection.Add("NonworkPeriod") interval.CalendarProfileName = "" interval.StartDateTime = "06.01.2011" interval.EndDateTime = "21.01.2011" interval.BackColorAsARGB = &HFFD4E3F5 interval.UseGraphicalAttributes = True Set interval = calendar.IntervalCollection.Add("WorkPeriod") interval.CalendarProfileName = "" interval.StartDateTime = "11.01.2011" interval.EndDateTime = "13.01.2011" interval.BackColorAsARGB = &HFFFFFFE0 interval.UseGraphicalAttributes = True VcGantt1.CalendarCollection.Update
下面的示例显示如何定义一个星期,其中星期一至星期五为工作时间,而周末为空闲时间。到目前为止引入的选项还不足以满足此要求;必须提供VcCalendarProfile类型的对象。
请注意:在VARCHART XGantt中,可以在全局或局部级别上定义VcCalendarProfile对象。本地日历配置文件对象只能在定义它们的日历中使用,而全局对象可以同时在不同的日历中使用。在我们的编程示例中,仅使用本地日历配置文件对象。就功能而言,本地日历与全局日历没有区别。如果创建了具有相同名称的本地配置文件和全局配置文件,则在相应的日历内仅寻址本地配置文件;无法访问全局配置文件。
vcWeekProfile类型的日历配置文件允许描述一周中某天的工作时间和非工作时间。仅在将周配置文件添加到日历的间隔集合后,该配置文件才生效。可以省略设置StartDateTime和EndDateTime,因为我们希望我们的设置在日历的整个期间内都是有效的,没有任何限制。预设名称<WORK>和<NONWORK>的日历配置文件具有定义的含义:它们用于分配工作时间和非工作时间。
示例代码
'Defining a week profile Dim calendar As VcCalendar Dim interval As VcInterval Dim calendarProfile As VcCalendarProfile Set calendar = VcGantt1.CalendarCollection.Add("CompanyCalendar1") VcGantt1.CalendarCollection.Active = calendar Set calendarProfile = calendar.CalendarProfileCollection.Add("WeekProfile") calendarProfile.Type = vcWeekProfile VcGantt1.TimeScaleCollection.FirstTimeScale.Section(0).CalendarGridEx(0) .UseGraphicalAttributesOfIntervals = True Set interval = calendarProfile.IntervalCollection.Add("Mo-Fr") interval.CalendarProfileName = "" interval.StartWeekday = vcMonday interval.EndWeekday = vcFriday Set interval = calendarProfile.IntervalCollection.Add("Sa") interval.CalendarProfileName = "" interval.BackColorAsARGB = &HFFFFF69F interval.StartWeekday = vcSaturday interval.EndWeekday = vcSaturday Set interval = calendarProfile.IntervalCollection.Add("Su") interval.CalendarProfileName = "" interval.BackColorAsARGB = &HFFFBD3AA interval.StartWeekday = vcSunday interval.EndWeekday = vcSunday Set interval = calendar.IntervalCollection.Add("StandardWeek") interval.CalendarProfileName = "WeekProfile"
区分一天中的工作时间和非工作时间需要一个日配置文件,该日配置文件可以指定精确的时钟时间,例如从8.00 h到12.00 h am和从1.00 h到5.00 h pm。由于新创建的日简介仅包含工作时间,因此任何中断都应定义为非工作间隔。
示例代码
'Defining a day profile Dim interval As VcInterval Dim calendarProfile As VcCalendarProfile Set calendarProfile = calendar.CalendarProfileCollection.Add("DayProfile") calendarProfile.Type = vcDayProfile Set interval = calendarProfile.IntervalCollection.Add("Interval_1") ' 00:00-8:00 interval.CalendarProfileName = "" interval.StartTime = "1.1.2011 0:00" interval.EndTime = "1.1.2011 8:00" Set interval = calendarProfile.IntervalCollection.Add("Interval_2") ' 12:00-13:00 interval.CalendarProfileName = "" interval.StartTime = "1.1.2011 12:00" interval.EndTime = "1.1.2011 13:00" Set interval = calendarProfile.IntervalCollection.Add("Interval_3") ' 17:00-24:00 interval.CalendarProfileName = "" interval.StartTime = "1.1.2011 17:00" interval.EndTime = "1.1.2011 00:00"
本教程内容较多,内容尚未更新完,敬请期待后续内容~感兴趣的朋友可以点击下载VARCHART XGantt最新版本尝试一下~
相关内容推荐:
想要购买VARCHART XGantt正版授权,或了解更多产品信息请点击
1024,慧都致敬程序员们,zend现金优惠券限时放送,了解详情请点击下方图片
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢