以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 图表 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=74525) |
-- 作者:cqlistone -- 发布时间:2015/9/13 13:32:00 -- 图表 你好! 表A中“申请部门”列有A部门、B部门,X轴需要显示近12个月各部门出现的次数,下面代码不显示A\\B部门各月的总次数 Dim Chart As WinForm.Chart Dim Series As WinForm.ChartSeries Dim t As DataTable = DataTables("表A") Dim lst As List(Of String) = t.GetValues("申请部门") Chart = Forms("报表").Controls("Chart6") Chart.ChartType = ChartTypeEnum.bar Chart.SeriesList.Clear() Chart.AxisX.ClearValueLabel Series = Chart.SeriesList.Add() Series.Length = 12 Dim td As Date = new Date(Date.Today.Year, Date.Today.Month, 1) For i As Integer = 0 To 11 Dim d = td.AddMonths(-i) Series.X(i) = i Series.Y(i) = val(t.Compute("count(" & "申请部门" & ")", "申请日期 >= #" & d & "# and 申请日期 < #" & d.AddMonths(1) & "#")) Chart.AxisX.SetValueLabel(i, Format(d, "yyyy-MM")) Chart.AxisX2.SetValueLabel(i, lst(i)) Series.DataLabelText = "{#YVAL}" Series.MarkShape = MarkShapeEnum.None Series.MarkSize=3 Series.LineThickNess=0.5 Next |
-- 作者:大红袍 -- 发布时间:2015/9/13 14:39:00 -- Dim Chart As WinForm.Chart Dim Series As WinForm.ChartSeries Dim t As DataTable = DataTables("表A") Dim lst As List(Of String) = t.GetValues("申请部门") Chart = Forms("报表").Controls("Chart6") Chart.ChartType = ChartTypeEnum.bar Chart.SeriesList.Clear() Chart.AxisX.ClearValueLabel For Each bm As String In lst Series = Chart.SeriesList.Add() Series.Length = 12 series.Text = bm Dim td As Date = new Date(Date.Today.Year, Date.Today.Month, 1) For i As Integer = 0 To 11 Dim d = td.AddMonths(-i) Series.X(i) = i Series.Y(i) = val(t.Compute("count(" & "申请部门" & ")", "申请日期 >= #" & d & "# and 申请日期 < #" & d.AddMonths(1) & "# and 申请部门 = \'" & bm & "\'")) Chart.AxisX.SetValueLabel(i, Format(d, "yyyy-MM")) Series.DataLabelText = "{#YVAL}" Series.MarkShape = MarkShapeEnum.None Series.MarkSize=3 Series.LineThickNess=0.5 Next Next |