Foxtable(狐表)用户栏目专家坐堂 → 怎么才能将数据都显示在一个柱形体上面呢


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

主题:怎么才能将数据都显示在一个柱形体上面呢

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


加好友 发短信
等级:婴狐 帖子:94 积分:723 威望:0 精华:0 注册:2013/2/27 16:58:00
怎么才能将数据都显示在一个柱形体上面呢  发帖心情 Post By:2013/3/22 12:46:00 [只看该作者]

高手好 我现在做的图表最高分最低分都不在一块 看起来特别的麻烦 现在其实就是四组数据  怎么才能让一组的数据最低分、最高分、平均分都显示在一个柱形上呢 就像说明书里面的那样重叠在一起呢

这是我的程序 求高手指点

'------------------------------------生成统计表------------------------
Dim g As New GroupTableBuilder("统计表2", DataTables("学员基础信息"))
g.Groups.AddDef("培训_产品组1", "产品组")
g.Totals.AddDef("ITC_ITC1_Pretest", AggregateEnum.Max, "PretestMAX")
g.Totals.AddDef("ITC_ITC1_Pretest", AggregateEnum.Average, "PreAVE")
g.Totals.AddDef("ITC_ITC1_Pretest", AggregateEnum.Min, "PretestMIN")
g.Totals.AddDef("ITC_ITC1_PostTest", AggregateEnum.Max, "PostMAX")
g.Totals.AddDef("ITC_ITC1_PostTest", AggregateEnum.Average, "PostAVE")
g.Totals.AddDef("ITC_ITC1_PostTest", AggregateEnum.Min, "PostMIN")
g.Totals.AddDef("ITC_ITC1_RolePlay", AggregateEnum.Max, "RolePlayMAX")
g.Totals.AddDef("ITC_ITC1_RolePlay", AggregateEnum.Average, "RolePlayAVE")
g.Totals.AddDef("ITC_ITC1_RolePlay", AggregateEnum.Min, "RolePlayMIN")
g.Totals.AddDef("ITC_ITC1_PPT", AggregateEnum.Max, "PPTMAX")
g.Totals.AddDef("ITC_ITC1_PPT", AggregateEnum.Average, "PPTAVE")
g.Totals.AddDef("ITC_ITC1_PPT", AggregateEnum.Min, "PPTMIN")

g.filter = Filter   '----筛选----
g.Build()
'-------------------------------------生成图表---------------------------
Dim Chart As WinForm.Chart '定义一个图表变量
Dim Series As WinForm.ChartSeries '定义一个图系变量
Dim t As Table = Tables("统计表2") '定义一个变量t引用数据表
Chart = e.Form.Controls("Chart1") ' 引用窗口中的图表
Chart.ChartType = ChartTypeEnum.Bar '图表类型改为Bar(条形)
Chart.DataSource = "统计表2" '设置绑定表
Chart.AxisY.Major = 10
Chart.AxisY.Min = 0 '指定Y轴的最小值

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 = "产品组" 'X轴绑定到产品列
        Series.Y.DataField = c.Name '设置Y轴的绑定列
        Series.DataLabelText = "{#YVAL}"
    End If
Next
'Chart.VisualEffect = True '加上这一行,让你的图表更漂亮

Chart.LegendVisible = True '显示图列
Chart.LegendCompass= CompassEnum.South '图列显示在南方(底端)

 

 


此主题相关图片如下:预期.png
按此在新窗口浏览图片

此主题相关图片如下:现在.png
按此在新窗口浏览图片

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


加好友 发短信
等级:管理员 帖子:47448 积分:251060 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/3/22 14:39:00 [只看该作者]

....
Dim Chart As WinForm.Chart '定义一个图表变量
Dim Series As WinForm.ChartSeries '定义一个图系变量
Dim t As Table = Tables("统计表2") '定义一个变量t引用数据表
Chart = e.Form.Controls("Chart1") ' 引用窗口中的图表
Chart.ChartType = ChartTypeEnum.Bar '图表类型改为Bar(条形)
Chart.DataSource = "统计表2" '设置绑定表
Chart.AxisY.Major = 10
Chart.AxisY.Min = 0 '指定Y轴的最小值
Chart.SeriesList.Clear() '清除图表原来的图系
chart.Stacked = true
....
 
 

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


加好友 发短信
等级:婴狐 帖子:94 积分:723 威望:0 精华:0 注册:2013/2/27 16:58:00
  发帖心情 Post By:2013/3/22 15:20:00 [只看该作者]

chart.Stacked = true这句话我加上后结果都叠加到一个柱形上了,没有让同一成绩的最高分、平均分、最低分显示在同一个柱形上而是 所有的都在上面了

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


加好友 发短信
等级:管理员 帖子:47448 积分:251060 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/3/22 16:09:00 [只看该作者]

用简单例子说话

不用动辄整个项目上传

[此贴子已经被作者于2013-3-22 16:09:12编辑过]

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


加好友 发短信
等级:婴狐 帖子:94 积分:723 威望:0 精华:0 注册:2013/2/27 16:58:00
  发帖心情 Post By:2013/3/22 16:51:00 [只看该作者]

 嘿嘿 整个的看我都感觉麻烦了  嘿嘿  这次明白俺的意思了吗  万分感谢呢!!!!

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:销售培训.table


图片点击可在新窗口打开查看此主题相关图片如下:实现的目标.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:管理员 帖子:47448 积分:251060 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/3/22 17:44:00 [只看该作者]

抱歉,我也不会。

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


加好友 发短信
等级:八尾狐 帖子:1812 积分:12993 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2013/3/22 23:28:00 [只看该作者]

这样?

 

'------------------------------筛选条件-------------------------------
Dim Filter As String
With e.Form.Controls("产品组")
    If .Value IsNot Nothing Then
        Filter = "培训_产品组1 = '" & .Value & "'"
    End If
End With
With e.Form.Controls("StartDate")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "培训_时间1 >= #" & .Value & "#"
    End If
End With
With e.Form.Controls("EndDate")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "培训_时间1 <= #" & .Value & "#"
    End If
End With
If Filter > "" Then
    Tables("学员基础信息").Filter = Filter
End If

'------------------------------------生成统计表------------------------

Dim s1,flt1 As String
Dim dt As DataTable =DataTables("学员基础信息")
s1 = e.Form.Controls("产品组").value

If DataTables.Contains("统计") '如果存在统计表
    DataTables.Delete("统计") '则删除之
End If
Dim dtb As New DataTableBuilder("统计")
dtb.AddDef(
"产品组" , Gettype(String), 32)
dtb.AddDef("MIN", Gettype(Integer))
dtb.AddDef("MAX", Gettype(Integer))
dtb.Build()
Dim t As Table =Tables("统计")
t.AddNew(4)
For Each r As Row In t.Rows
    r(
"产品组" ) ="Pretest,PostTest,RolePlay,PPT".split(",")(r.Index)
    flt1 ="ITC_ITC1_" & r(
"产品组")
    r("MIN") = dt.Compute("Min(" & flt1 & ")",Filter)
    r("MAX") = dt.Compute("MAX(" & flt1 & ")",Filter)
Next

'-------------------------------------生成图表---------------------------
Dim Chart As WinForm.Chart '定义一个图表变量
Dim Series As WinForm.ChartSeries '定义一个图系变量
Chart = e.Form.Controls("Chart1") ' 引用窗口中的图表
Chart.SeriesList.Clear() '清除图表原来的图系
Chart.ChartType = ChartTypeEnum.Bar '图表类型改为Bar(条形)
Chart.DataSource = "统计" '设置绑定表
chart.Stacked = True

For Each c As Col In t.Cols
    If c.Name <>  
"产品组"  Then
        Series = Chart.SeriesList.Add() '增加一个图系
        Series.Text = c.Name '设置图系的标题
        Series.X.DataField = 
"产品组"   'X轴绑定到产品列
        Series.Y.DataField = c.Name '设置Y轴的绑定列
        Series.DataLabelText = "{#YVAL}"
    End If
Next

'Chart.VisualEffect = True '加上这一行,让你的图表更漂亮
Chart.LegendVisible = True '显示图列

[此贴子已经被作者于2013-3-25 16:31:16编辑过]

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


加好友 发短信
等级:婴狐 帖子:94 积分:723 威望:0 精华:0 注册:2013/2/27 16:58:00
回复:(狐狸爸爸)抱歉,我也不会。  发帖心情 Post By:2013/3/25 9:18:00 [只看该作者]

 哦哦  没关系的  但还是要谢谢你!


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


加好友 发短信
等级:四尾狐 帖子:867 积分:6210 威望:0 精华:0 注册:2012/11/24 20:44:00
  发帖心情 Post By:2013/3/25 10:14:00 [只看该作者]

狐爸真幽默

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


加好友 发短信
等级:婴狐 帖子:94 积分:723 威望:0 精华:0 注册:2013/2/27 16:58:00
  发帖心情 Post By:2013/3/25 14:08:00 [只看该作者]

 大侠我复制粘贴过去 报错了  怎么回事呢  万分感谢呀


图片点击可在新窗口打开查看此主题相关图片如下:捕获.png
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:销售培训.table


 回到顶部
总数 15 1 2 下一页