以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 窗口中的图表显示问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=144312) |
||||
-- 作者:回忆美好wy -- 发布时间:2019/12/17 0:37:00 -- 窗口中的图表显示问题 我想要在一个窗口中显示多个图表,就是某一条项目从多个角度来生成图表。如下图中 在ComboBox控件中选择某条线路后,点击单线分析按钮在第一个图表中生成该线路的按月份统计的图表;在第二个图表中生成按故障原因一级统计的图表。。。以此类推 请大神们指点指点 目前的程序代码为: Dim b As New GroupTableBuilder("按月份统计",DataTables("故障明细")) b.Groups.AddDef("月份") \'根据所属10千伏线路分组 b.Totals.AddDef("计数") \'对数量进行统计 b.Build \'生成统计表 MainTable = Tables("按月份统计") \'打开生成的统计表 Dim Filter As String With e.Form.Controls("ComboBox线路名称") If .Value IsNot Nothing Then Filter = "月份 in (\'" & .Value.replace(",", "\',\'") & "\')" End If End With If Filter > "" Then Tables("按月份统计").Filter = Filter End If Dim Chart As WinForm.Chart \'定义一个图表变量 Dim Series As WinForm.ChartSeries \'定义一个图系变量 Dim t As Table = Tables("按月份统计") \'定义一个变量t引用数据表 Chart= Forms("单线分析").Controls("Chart1") \' 引用窗口中的图表 Chart.ChartType = ChartTypeEnum.Bar \'图表类型该为Bar(条形) Chart.DataSource = "按月份统计" \'设置绑定表 Chart.SeriesList.Clear() \'清除图表原来的图系 Chart.DataFilter = Filter Series = Chart.SeriesList.Add() \'增加一个图系 Series.X.DataField = "月份" \'X轴绑定到产品列 Series.Y.DataField = "计数" \'Y轴绑定到数量列 Chart.AxisX.AnnoRotation = - 45 \'X轴标示逆时针旋转45度 |
||||
-- 作者:有点蓝 -- 发布时间:2019/12/17 8:47:00 -- 请上传实例测试 |
||||
-- 作者:回忆美好wy -- 发布时间:2019/12/17 12:57:00 -- 实例已上传,请指点 [此贴子已经被作者于2019/12/17 12:58:17编辑过]
|
||||
-- 作者:回忆美好wy -- 发布时间:2019/12/17 13:05:00 -- 实例
|
||||
-- 作者:有点蓝 -- 发布时间:2019/12/17 14:15:00 -- 例如 Dim Filter As String With e.Form.Controls("ComboBox线路名称") If .Value IsNot Nothing Then Filter = "线路名称 in (\'" & .Value.replace(",", "\',\'") & "\')" End If End With Dim b As New GroupTableBuilder("按月份统计",DataTables("故障明细")) b.Groups.AddDef("月份") \'根据所属10千伏线路分组 b.Totals.AddDef("计数") \'对数量进行统计 b.Filter = Filter Dim dt As DataTable = b.Build(True) \'生成统计表 Dim Chart As WinForm.Chart \'定义一个图表变量 Dim Series As WinForm.ChartSeries \'定义一个图系变量 Chart= Forms("单线分析").Controls("Chart故障时间") \' 引用窗口中的图表 Chart.ChartType = ChartTypeEnum.Bar \'图表类型该为Bar(条形) Chart.SeriesList.Clear() \'清除图表原来的图系 Series = Chart.SeriesList.Add() \'增加一个图系 Series.Length = dt.dataRows.Count \'设置图系的长度 For i As Integer = 0 To dt.dataRows.Count - 1 \'指定每个数据点的位置 Series.X(i) = i \'指定水平坐标 Series.Y(i) = dt.dataRows(i)("计数") \'指定垂直坐标 Chart.AxisX.SetValueLabel(i, dt.dataRows(i)("月份") & "月") \'指定字符表示 Next Chart.AxisX.AnnoRotation = - 45 \'X轴标示逆时针旋转45度 Chart.AxisX.AnnoWithLabels = True \'启用字符标示 b = new GroupTableBuilder("按月份统计",DataTables("故障明细")) b.Groups.AddDef("故障原因一级") \'根据所属10千伏线路分组 b.Totals.AddDef("计数") \'对数量进行统计 b.Filter = Filter dt = b.Build(True) \'生成统计表 Chart= e.Form.Controls("Chart故障原因一级") \' 引用窗口中的图表 Chart.ChartType = ChartTypeEnum.Bar \'图表类型该为Bar(条形) Chart.SeriesList.Clear() \'清除图表原来的图系 Chart.DataTable = dt Series = Chart.SeriesList.Add() \'增加一个图系 Series.X.DataField = "故障原因一级" \'X轴绑定到月份列 Series.Y.DataField = "计数" \'Y轴绑定到数量列 Chart.AxisX.AnnoRotation = - 45 \'X轴标示逆时针旋转45度 |
||||
-- 作者:回忆美好wy -- 发布时间:2019/12/17 18:37:00 -- 谢谢 |