以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  图例问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=176115)

--  作者:HJG_HB950207
--  发布时间:2022/3/31 12:40:00
--  图例问题
表A 字段:  姓名   用工形式   报到年份
                用工形式分正式工、临时工
建窗口 并设控件 Chart1

目标:在窗口Chart1 显示没报到年份正式工和临时工数量

代码如下:

Dim g As New CrossTableBuilder("统计表02", DataTables("职工一览表"))
g.HGroups.AddDef("报到年份")
g.VGroups.AddDef("用工形式")
g.Totals.AddDef("用工形式", AggregateEnum.Count, "用工形式")
g.HorizontalTotal = True
g.Build()
MainTable = Tables("统计表02")
 

Dim Chart As WinForm.Chart  
Dim Series As WinForm.ChartSeries  
Dim t As Table = Tables("统计表02")  
Chart = e.Form.Controls("Chart1")  
Chart.ChartType = ChartTypeEnum.Bar \'PIE 
Chart.DataSource = "统计表02" \' 
Chart.SeriesList.Clear()  
For Each c As Col In t.Cols
    If c.Name <> "报到年份" Then
        Series = Chart.SeriesList.Add()  
        Series.Text = c.Name  
        Series.X.DataField = "报到年份"  
        Series.Y.DataField = c.Name  
Series.DataLabelText = "{#YVAL}"

         End If
Next
Chart.VisualEffect = True  
Chart.LegendVisible = True  
Chart.LegendCompass= CompassEnum.South 



问题:图例显示:用工形式1  ;用工形式2, 而不是正式工、劳务派遣。


请老师指点,谢谢!









--  作者:有点蓝
--  发布时间:2022/3/31 14:09:00
--  
生成统计表后打开表结构看看就知道了。真正的列名就是用工形式1  ;用工形式2这些。正式工、劳务派遣这些是列标题

不要使用绑定模式,改为遍历的方式生成图表