第二个问题的代码
Dim Chart As WinForm.Chart '定义一个图表变量
Dim Series As WinForm.ChartSeries '定义一个图系变量
Dim t As Table = Tables("统计") '定义一个变量t引用数据表
Chart= e.Form.Controls("Chart1") ' 引用窗口中的图表
Chart.ChartType = ChartTypeEnum.Bar '图表类型改为Bar(条形)
Chart.SeriesList.Clear() '清除图表原来的图系
Series = Chart.SeriesList.Add() '增加一个图系
Series.Length = (t.Cols.Count-3) / 3 '图系的数据点数等于表的行数
Dim Series1 As WinForm.ChartSeries = Chart.SeriesList.Add()
Series1.Length = (t.Cols.Count-3) / 3 '图系的数据点数等于表的行数
Dim Series2 As WinForm.ChartSeries = Chart.SeriesList2.Add() '给图表2增加一个图系
Series2.Length = (t.Cols.Count-3) / 3 '图系的数据点数等于表的行数
Chart.ChartType2 = ChartTypeEnum.XYPlot
Series.Text = "目标"
Series1.Text = "销量"
Series2.Text = "达成率"
Dim i As Integer = 0
For Each c As Col In Tables("统计").Cols
If c.Name.EndsWith("目标") Then
Series.X(i) = i '指定水平坐标
Series1.X(i) = i '指定水平坐标
Series2.X(i) = i '指定水平坐标
Series.Y(i) = nr(c.Name) '指定垂直坐标
Series1.Y(i) = nr(Tables("统计").Cols(c.Index+1).Name) '指定垂直坐标
Series2.Y(i) = nr(Tables("统计").Cols(c.Index+2).Name) '指定垂直坐标
Chart.AxisX.SetValueLabel(i, c.Name.Split("_")(1)) '指定字符表示
i+=1
End If
Next
Chart.AxisX.AnnoWithLabels = True '启用字符标示
Chart.LegendVisible = True '显示图列
Chart.LegendCompass= CompassEnum.South '图列显示在南方(底端)
Chart.VisualEffect = True '加上这一行,让你的图表更漂亮
Chart.AxisY.Text = "金额"
Chart.AxisY2.Text = "比例"