Foxtable(狐表)用户栏目专家坐堂 → 求助,关于双图表


  共有4856人关注过本帖树形打印复制链接

主题:求助,关于双图表

帅哥哟,离线,有人找我吗?
狐狸爸爸
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/5/21 12:51:00 [显示全部帖子]

你只设置了一个图系的数据,当然只显示一个图。

 

 

Dim d1 As Date = Date.Today
Dim y As Integer = d1.Year '指定年份
Dim m As Integer = d1.Month
Dim w As Integer = d1.DayOfWeek
Dim q As Integer = (d1.Month - 1) \ 3 + 1 '计算现在是第几个季度
Dim dt1 As New Date(y, 1, 1)
Dim dt2 As New Date(y, 12, 31)
Dim cmd As New SQLCommand
cmd.CommandText = "select * from {销售出库单主表}"
Dim dt As DataTable = cmd.ExecuteReader
Dim cmd1 As New SQLCommand
cmd1.CommandText = "select * from {采购入库单主表}"
Dim dv1 As DataTable = cmd1.ExecuteReader
'===============================取时间,动态加载出入表
Dim Chart As WinForm.Chart = e.Form.Controls("统计图表")
Dim Series1 As WinForm.ChartSeries '定义一个图系变量
Dim Series2 As WinForm.ChartSeries '定义一个图系变量

Chart.VisualEffect = True
Dim lst As List(Of String) = dt.GetUniqueValues("出库日期>= '" & dt1 & "'And 出库日期 <='" & dt2 & "'", "月份") '获得销售月份集合
Dim lst1 As List(Of String) = dv1.GetUniqueValues("到仓日期>= '" & dt1 & "'And 到仓日期 <='" & dt2 & "'", "月份") '获得采购月份集合
Chart.ChartType = ChartTypeEnum.Bar
Chart.ChartType2 = ChartTypeEnum.XYPlot
Chart.AxisX.ClearValueLabel
Chart.AxisX.AnnoWithLabels = False
Chart.SeriesList.Clear() '清除图表原来的图系
Series1 = Chart.SeriesList.Add() '增加一个图系
Series1.Text = "销售额"
Chart.SeriesList2.Clear() '清除图表2原来的图系
Series2 = Chart.SeriesList2.Add() '给图表2增加一个图系
Series2.Text = "采购额"
Series1.Length = lst.Count '设置图系的长度
Series2.Length = lst.Count '设置图系的长度
For i As Integer = 0 To lst.Count - 1 '指定每个数据点的位置
    Series1.X(i) = i '指定水平坐标
    Series2.X(i) = i '指定水平坐标
    Series1.Y(i) = dt.Compute("Sum(总金额)","月份 = '" & lst(i) & "'") '指定销售额垂直坐标
    For p As Integer = 0 To lst1.count -1
        Series2.Y(p) = dv1.Compute("Sum(总金额)","月份 = '" & lst1(p) & "'")'指定采购额垂直坐标
    Next
    Chart.AxisX.SetValueLabel(i, lst(i)&"月") '指定字符表示
Next
Chart.LegendVisible =True
Series1.DataLabelText = "{#YVAL}"
Series1.DataLabelText = "{#Y2VAL}"
Series2.DataLabelText = "{#YVAL}"
Series2.DataLabelText = "{#Y2VAL}"
series1.DataLabelCompass =LabelCompassEnum.NorthEast
series2.DataLabelCompass =LabelCompassEnum.NorthEast
Chart.AxisX.AnnoWithLabels = True '启用字符标示
Chart.AxisY.Text = "销售额"
Chart.AxisY2.Text = "采购额"


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/5/21 14:19:00 [显示全部帖子]

你可以四舍五入:

 

 

Series1.Y(i) = math.Round(dt.Compute("Sum(总金额)","月份 = '" & lst(i) & "'") ,2)


 回到顶部