以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]生成图表的时候列里没有数据报错该怎么解决 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=113184) |
-- 作者:Devil -- 发布时间:2018/1/10 17:14:00 -- [求助]生成图表的时候列里没有数据报错该怎么解决 Dim t As Table = Tables("在职员工") Dim g As Subtotalgroup t.SubtotalGroups.Clear() t.GroupAboveData = False t.TreeVisible = False g = New Subtotalgroup g.Aggregate = AggregateEnum.Sum g.Caption = "{0}" t.SubtotalGroups.Add(g) t.Subtotal() Dim Filter As String If Filter > "" Then Tables("在职员工").Filter = Filter End If Dim r As Row For i As Integer = 0 To t.Rows.Count(True) - 1 r = t.Rows(i,True) If r.IsGroup \'如果是分组行 Dim f As String = "[" & "婚姻状况" & "] = \'" & r("[" & "婚姻状况" & "]") & "\'" Dim v As String = "[" & "统计列" & "] = \'" & r("[" & "统计列" & "]") & "\'" r("[" & "婚姻状况" & "]") = "[" & "婚姻状况" & "]:" & r("[" & "婚姻状况" & "]") & v End If Next Dim b1 As New GroupTableBuilder("统计表9",DataTables("在职员工")) b1.Groups.AddDef("[" & "婚姻状况" & "]","" & "婚姻状况" & "") b1.Totals.AddDef("[" & "统计列" & "]") b1.Subtotal = True b1.Filter = Filter b1.Build Dim Chart As WinForm.Chart \'定义一个图表变量 Dim Series As WinForm.ChartSeries \'定义一个图系变量 Dim tbl As DataTable = DataTables("统计表9") \'定义一个变量tbl引用数据表 Dim lst As List(Of String) = tbl.GetValues("婚姻状况") \'获得产品名称集合 Chart = e.Form.Controls("Chart9") \' 引用窗口中的图表 Chart.ChartType = ChartTypeEnum.Bar \'图表类型该为Bar(条形) Chart.SeriesList.Clear() \'清除图表原来的图系 chart.AxisX.ClearValueLabel Series = Chart.SeriesList.Add() \'增加一个图系 Series.DataLabelText = "{#YVAL}" For i As Integer = 0 To lst.Count - 1 \'指定每个数据点的位置 Series.X(i) = i \'指定水平坐标 Series.Y(i) = tbl.Compute("Sum(" & "统计列" & ")","[" & "婚姻状况" & "] = \'" & lst(i) & "\'") \'指定垂直坐标 Chart.AxisX.SetValueLabel(i, lst(i)) \'指定字符表示 Next Chart.AxisX.AnnoWithLabels = True \'启用字符标示 [此贴子已经被作者于2018/1/10 17:16:21编辑过]
|
-- 作者:有点甜 -- 发布时间:2018/1/10 17:48:00 -- 你可以先查找再处理,如
Dim fdr = DataTables("在职员工").Find(filter) If fdr is Nothing Then msgbox("没有数据") return Else msgbox("继续执行代码") End If |