现在用的命令是这个,写在botton里,但是年份多了,怕崩溃(都是凭着自己的思路硬堆起来的码,勿怪),现在想加个选择现有年份的功能到ComboBox里,但是不知道怎么做。
我的思路是,表里有一列"报名日期",属性是日期, 想让ComboBox识别已登记的年份,选择好ComboBox里的年份后,再用button按钮进行年份筛选,请老师帮忙。。
'定义一个GroupTableBuilder,名称为"统计表1",对订单表进行统计.
Dim b As New GroupTableBuilder("统计表1",DataTables("学员信息登记表"))
b.Groups.AddDef("报名日期", DateGroupEnum.Year, "年") '添加日期列用于分组,并用"年"代替原名称
b.Groups.AddDef("报名日期","月") '添加日期列用于分组,并用"月"代替原名称
b.Totals.AddDef("学费_价格") '对数量进行统计
b.Build '生成统计表
Dim Chart As WinForm.Chart '定义一个图表变量
Dim Series As WinForm.ChartSeries '定义一个图系变量
Chart= e.Form.Controls("Chart1") ' 引用窗口中的图表
Chart.ChartType = ChartTypeEnum.XYPlot ' 图形样式
Chart.SeriesList.Clear() '清除图表原来的图系
For Each Year As String In DataTables("统计表1").GetValues("年")
Series = Chart.SeriesList.Add() '每年一个图系
Series.Text = Year & "年" ' '指定图系名称为年份
Series.Length = 13 '指定图系的数据点数,1年12个月
Chart.AxisX.Min = 1 '指定X轴的最小值,也就是从1月开始
Chart.AxisX.Max = 12 '指定X轴的最大值,一年只有12个月
For Month As Integer = 1 To 12 '逐月设置坐标
Series.X(Month) = Month '指定水平坐标为月份
Dim r As DataRow = DataTables("统计表1").Find("年 = " & Year & " And 月 = " & Month)'找出对应年月的行
If r IsNot Nothing '如果找到对应年月的行
Series.Y(Month) = r("学费_价格") '指定数量作为垂直坐标
End If
Next
Next
Series.DataLabelText = "{#YVAL}(元)"
Series.DataLabelBackColor = Color.Blue '蓝底
Series.DataLabelForeColor = Color.White '白字
Chart.AxisY.Text = "每月金额"
Chart.LegendVisible = True '显示图列
Chart.LegendCompass= CompassEnum.South '图列显示在南方(底端)