请教老师,下面代码,无法生成图表,如果把 年 = " & Year & " 取消,可生成一个年度的月线型图表,但是不能满足要求,应该是生成显示多年度的线型。
以下代码生成时,提示 and 缺少运算符...
Dim b As New SQLGroupTableBuilder("统计表000006","投标评价")
b.C
b.Groups.AddDef("投标日期",DateGroupEnum.Year,"年")
b.Groups.AddDef("投标日期",DateGroupEnum.Month,"月")
b.Totals.AddDef("信息编号",AggregateEnum.Count,"中标频度")
b.Filter = "投标日期 >= #" & e.Form.Controls("DateTimePicker1").Value & "# And 投标日期 <= #" & e.Form.Controls("DateTimePicker2").Value & "# And 投标结果 Like '%项目中标%'"
b.VerticalTotal = True
Tables("中标测评_Table1").DataSource = b.BuildDataSource()
For Each cl As Col In Tables("中标测评_Table1").Cols '整表居中
cl.TextAlign = TextAlignEnum.Center
Next
Dim Chart As WinForm.Chart '定义一个图表变量
Dim Series As WinForm.ChartSeries '定义一个图系变量
Chart= e.Form.Controls("Chart2") ' 引用窗口中的图表
Chart.SeriesList.Clear() '清除图表原来的图系
For Each Year As String In DataTables("中标测评_Table1").GetValues("年")
Series = Chart.SeriesList.Add() '每年一个图系
Series.Text = Year '指定图系名称为年份
Series.Length = 12 '指定图系的数据点数,1年12个月
Chart.AxisX.Min = 1 '指定X轴的最小值,也就是从1月开始
Chart.AxisX.Max = 12 ''指定X轴的最大值,一年只有12个月
For Month As Integer = 1 To 12 '逐月设置坐标
Chart.AxisX.AnnoFormatString = "0月"
Series.X(Month) = Month '指定水平坐标为月份
Dim r As DataRow = DataTables("中标测评_Table1").Find("年 = " & Year & " And 月 = " & Month & "") '找出对应年月的行
If r IsNot Nothing '如果找到对应年月的行
Series.Y(Month) = r("中标频度") '指定数量作为垂直坐标
Series.DataLabelText = "{#YVAL}"
End If
Next
Next
Chart.LegendVisible = True '显示图列
Chart.LegendCompass= CompassEnum.South '图列显示在南方(底端)
此主题相关图片如下:555.jpg