'---生成图表
Dim Chart As WinForm.Chart '定义一个图表变量
Dim Series As WinForm.ChartSeries '定义一个图系变量
Dim t As Table = Tables("发货产品统计") '定义一个变量t引用数据表
Chart = Forms("发货产品统计").Controls("Chart1") ' 引用窗口中的图表
If t.Rows.count * 12 >1000 Then
Chart.Width = t.Rows.count * 12 '图表宽度
End If
Chart.ChartType = ChartTypeEnum.Bar '图表类型改为Bar(条形)
Chart.DataSource = "发货产品统计" '设置绑定表
Chart.SeriesList.Clear() '清除图表原来的图系
For Each c As Col In t.Cols
If c.Name <> "序号" Then
Series = Chart.SeriesList.Add() '增加一个图系
Series.Text = c.Name '设置图系的标题
Series.Length = t.Rows.Count '设置图系的长度
For r As Integer = 0 To t.Rows.Count - 1
Series.X(r) = r
Series.Y(r) = t.Rows(r)(c.Name)
Next
'Series.X.DataField = "序号" 'X轴绑定到产品列
'Series.Y.DataField = c.Name '设置Y轴的绑定列
End If
Next
Dim s As String = t.Rows(0)("序号")
For r As Integer = 0 To t.Rows.Count - 1
If s = t.Rows(r)("序号") Then
Chart.AxisX.SetValueLabel(r, "") '指定字符表示
Else
Chart.AxisX.SetValueLabel(r-1, s) '指定字符表示
s = t.Rows(r)("序号")
End If
Next
Chart.AxisX.AnnoWithLabels = True '启用字符标示
Chart.AxisX.AnnoRotation = - 90
Chart.VisualEffect = True '加上这一行,让你的图表更漂亮
Chart.LegendVisible = True '显示图列
Chart.LegendCompass= CompassEnum.North '图列显示在南方(底端)