If vars("ngdraw") = True Then
Dim ngxs As String() = {"ngs1","ngs2","ngs3","ngs4","ngs5","ngs6","ngs7","ngs8","ngs9","ngs10"}
Dim ngxn As Integer = 0
For Each ngx As String In ngxs
If e.Form.controls(ngx).checked = True Then
ngxn = 1
Exit For
End If
Next
Dim y As Integer = val(e.Form.controls("nian").value)
Dim m As Integer = val(e.Form.controls("yue").value)
Dim bm As String = ""
Dim tm As String = ""
Dim ht As String = ""
Dim z As Integer = Date.daysinmonth(y,m)
If e.Form.Controls("TabControl4").SelectedIndex = 0 Then
bm = "LCD品质月明细统计_nglcm"
tm = "chnglcm"
ht = "LCM前段" & y & "年" & m & "月NG前十图表"
If ngxn = 0 Then
e.Form.Controls(tm).visible = False
MessageBox.Show("当前没有选择NG项目,绘图失败")
End If
ElseIf e.Form.Controls("TabControl4").SelectedIndex = 1 Then
bm = "LCD品质月明细统计_nglcd"
tm = "chnglcd"
ht = "LCD前段" & y & "年" & m & "月NG前十图表"
If ngxn = 0 Then
e.Form.Controls(tm).visible = False
MessageBox.Show("当前没有选择NG项目,绘图失败")
End If
ElseIf e.Form.Controls("TabControl4").SelectedIndex = 2 Then
bm = "LCD品质月明细统计_nghz"
tm = "chnghz"
ht = "前段汇总" & y & "年" & m & "月NG前十图表"
If ngxn = 0 Then
e.Form.Controls(tm).visible = False
MessageBox.Show("当前没有选择NG项目,绘图失败")
End If
End If
'绘图
Dim Chart As WinForm.Chart '定义一个图表变量
Dim Series As WinForm.ChartSeries '定义一个图系变量
Chart = forms("LCD品质月明细统计").controls(tm) ' 引用窗口中的图表
Chart.HeaderText = ht
Chart.ChartType = ChartTypeEnum.XYPlot '图表类型该为线形
Dim yz1s As new List(of Double)
For i As Integer = 0 To 9
If e.Form.controls(ngxs(i)).checked = True Then
Dim r As Row = Tables(bm).Rows(i)
For Each c As Col In Tables(bm).Cols
If c.name.contains("X月") Then
yz1s.add(r(c.name))
End If
Next
End If
Next
yz1s.sort
Chart.AxisY.Min = yz1s(0)-yz1s(0)*0.1 '指定Y轴的最小值
Chart.AxisY.Max = yz1s(yz1s.count-1)+yz1s(yz1s.count-1)*0.1 '指定Y轴的最大值
Chart.SeriesList.Clear() '清除图表原来的图系
Chart.SeriesList2.Clear() '清除图表原来的图系
Chart.AxisX.ClearValueLabel
Chart.Axisy.ClearValueLabel
For i As Integer = 0 To 9
If e.Form.controls(ngxs(i)).checked = True Then
Series = Chart.SeriesList.Add() '增加一个图系
Series.Length = z '新增图系包括个数据点
For k As Integer = 0 To z-1
Series.X(k) = k '指定水平坐标
Series.Y(k) = Tables(bm).Rows(i)(k+5) '垂直坐标用
Dim s As String = Format(m,"00") & "/" & Format(k + 1,"00")
Chart.AxisX.SetValueLabel(k, s) '指定字符表示
Next
End If
Next
Chart.AxisX.AnnoRotation = - 45 'X轴标示逆时针旋转45度
Chart.AxisY.Text = "数量"
' Series.DataLabelBackColor = Color.Blue '蓝底
' Series.DataLabelForeColor = Color.white '白字
' Series.DataLabelText = "{#YVAL}"
' Chart.VisualEffect = True
Chart.AxisX.AnnoWithLabels = True '启用字符标示
Chart.LegendVisible = True '显示图列
Chart.LegendCompass= CompassEnum.South '图列显示在南方(底端)
End If