VARCHART XGantt_v5.1用户手册:如何创建直方图(.NET版)上
VARCHART XGantt,用于工业4.0项目管理、交互式的甘特图绝佳解决方案,世界级甘特图大师。它是一个交互式的甘特图控件,其模块化的设计让您可以创建满足您和您的客户所需求的应用程序。(我们领先的甘特图控件VARCHART XGantt可用于.NET,ActiveX和ASP.NET应用程序。)
在本章中,我们将演示如何编写直方图。直方图总结活动并以图形化的平面或区域再现总体结果。限制顶部区域的线表示工作负荷曲线(例如,机器、生产线或项目工作人员的工作负载曲线,从现在开始表示为“生产系统”)。
工作负载曲线可以指容量曲线,容量曲线表示一组最大可能的工作负载值。虽然工作负荷曲线由从活动中获取的值组成,但容量曲线的值必须从其他定义的数据中获取。
当显示两条曲线时,工作负荷曲线可能超过或低于容量曲线,分别表明生产系统存在瓶颈或不足。容量曲线高于工作负荷曲线的区域是不足区域。工作负荷曲线高于容量曲线表示过载。如果两条曲线的高度相等,则工作负荷已达到最佳状态。
过载和短缺区域的外观可能不同,从视觉上区分生产系统中的瓶颈和不足。
上图显示的直方图,总结了蓝色没有阴影区域的活动。甘特图和直方图中的标记节点显示为黄色并显示交叉线图案(节点3)。容量曲线是一条红线。过载以蓝色显示,并带有交叉线图案(节点6)。不足出现在没有阴影的浅绿色区域。
在本章中,我们将对上述直方图进行编程。您将在目录UserGuideSamples \ VB.NET \ XGantt_Tutorial02和UserGuideSamples \ Csharp \ XGantt_Tutorial02中找到完整的程序。
在VARCHART XGantt的直方图中显示颜色和图案的区域基本上由曲线形成,参考曲线被分配给该曲线。在结果区域中,可以填充颜色和图案。
为达到我们的目标,我们将通过以下步骤:
步骤1:打开在甘特图中显示直方图。
步骤2:标记的活动应在表格中倒过来显示,而在甘特图中,它们应采用交叉阴影线。作为第一步,关闭甘特图的标记性。
步骤3:为了区分选定节点和未选择节点,创建名为“selected”的数据字段,其存储节点的实际选择状态。
步骤4:为数据字段分配值,表示标记状态。
步骤5:创建两个不同的过滤器,分隔选定和未选择的活动。
步骤6:为选定和未选择的节点定义两种不同的外观。它们与过滤器结合使用。
步骤7:为直方图创建四条曲线:容量曲线、未标记活动的曲线、标记活动的曲线和填充区域的辅助曲线。对曲线之间的区域、颜色和图案进行分配。
步骤8:最后,定义容量曲线的值。
现在来看看具体的步骤操作吧~
步骤1:首先,请在甘特图中打开直方图的显示。请调用属性页布局并找到选项卡区域,您可以在其中设置选项甘特图和直方图。
步骤2:由于标记的节点应显示自己的交叉线图案,因此现在关闭甘特图中节点的标记性。请调用属性页面节点,找到节点选项卡标记节点类型,并将图表中的字段设置为无标记。
步骤3:为了区分选定和未选择的节点,创建了一个名为“Selected”的数据字段,用于存储节点的实际选择状态。请通过单击属性页对象上的数据表来调用对话框管理数据表,然后编辑表Maindata。请在此处添加Integer类型的字段,并将其命名为“Selected”。该字段将使活动的显示取决于其标记状态。
步骤4:每次触发事件VcNodesMarked时,将更新数据字段“Selected”。
示例代码VB.NET
Private Sub VcGantt1_VcNodesMarked(ByVal sender As Object, ByVal e As NETRONIC.XGantt.VcNodesMarkedEventArgs) Handles VcGantt1.VcNodesMarked Dim node As VcNode For Each node In VcGantt1.NodeCollection If node.Marked = True Then node.DataField(5) = 1 Else node.DataField(5) = 0 End If node.Update() Next End Sub
示例代码C#
private void vcGantt1_VcNodesMarked(object sender, NETRONIC.XGantt.VcNodesMarkedEventArgs e) { foreach (VcNode node in vcGantt1.NodeCollection) { if (node.Marked == true) node.set_DataField(5,1); else node.set_DataField(5,0); node.Update(); } }
在VcNodeCreated事件中,以下代码可防止节点在创建时出现标记。因为在创建新节点时将取消标记所有之前选择的节点,所以需要更新“Selected”的字段内容。
示例代码VB.NET
Private Sub VcGantt1_VcNodeCreated(ByVal sender As Object, ByVal e As NETRONIC.XGantt.VcNodeCreatedEventArgs) Handles VcGantt1.VcNodeCreated e.Node.DataField(1) = "Node " + e.Node.DataField(0) e.Node.Marked = False e.Node.Update() Dim node As VcNode For Each node In VcGantt1.NodeCollection node.DataField(5) = 0 node.Update() Next End Sub
示例代码C#
private void vcGantt1_VcNodeCreated(object sender, NETRONIC.XGantt.VcNodeCreatedEventArgs e) { e.Node.set_DataField(1, "Node " + e.Node.get_DataField(0)); e.Node.Marked = false; e.Node.Update(); foreach (VcNode node in vcGantt1.NodeCollection) { node.set_DataField(5,0); node.Update(); } }
步骤5:在此步骤中,创建两个不同的过滤器,将选定的活动与未选择的活动分开。请调用属性页对象,然后单击按钮过滤器 ...以进入对话框管理过滤器。单击按钮创建两个新过滤器,并将其命名为“Selected”和“Not Selected”。
现在,请设置过滤条件。对于过滤器“Not Selected”,请指定条件“选择不等于1”。由于这种情况,只会过滤未选择的节点。现在请标记过滤器Not Selected,然后单击对话框顶部右侧的按钮。它将调用“编辑过滤器”对话框。在Fieldname列中,请选择所选字段,在运算符列中选择不等于,并在列比较值中输入值1,单击确定退出对话框。
现在,请以同样的方式将条件“Selected = 1”分配给过滤器“Selected”。
步骤6:在此步骤中,我们将为选定节点和未选定节点定义两种不同的外观,以便与过滤器组合。
请选择属性页面对象,然后单击对象图层....这将弹出对话框指定栏外观。请通过在名称列中的字段中直接输入新名称,将“Start-End”图层重命名为“Unselected Nodes”。请找到过滤器列并将过滤器“Not Selected”指定给Layer。通过单击按钮复制图层,并将副本命名为“Selected Nodes”。将过滤器“Selected”分配给图层。
两层看起来仍然相似。您可以通过双击列图层设计的相应字段来修改“选定节点”图层的设计。将弹出对话框编辑图层。请选择交叉影线图案,黄色背景颜色或图案颜色2和黑色图案颜色。
要确保非工作间隔的周末显示为行而不是条形,需要在“节点”属性页上设置“具有非工作间隔的图层”选项。
教程内容尚未完结,请点击下方文章查看~
彩票走势图相关的文章:
VARCHART XGantt_v5.1用户手册:如何创建直方图(.NET版)上
VARCHART XGantt_v5.1用户手册:如何创建直方图(ActiveX版)(上)
VARCHART XGantt_v5.1用户手册:如何创建直方图(ActiveX版)(下)
VARCHART XGantt_v5.1用户手册:如何使用过滤器(.NET版)
VARCHART XGantt_v5.1用户手册:如何使用过滤器(ActiveX版)
想要购买VARCHART XGantt正版授权,或了解更多产品信息请点击
扫描关注慧聚IT微信公众号,及时获取最新动态及最新资讯