以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  先统计再生成图表  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=68556)

--  作者:lkcao
--  发布时间:2015/5/20 13:37:00
--  先统计再生成图表
生成图表,总评成绩按  >85     75-85    60-75   <60  划分区间,分别统计各区间内每一项调查打“√”的人数



图片点击可在新窗口打开查看此主题相关图片如下:360反馈意见截图16230320545786.png
图片点击可在新窗口打开查看
代码不会编,不知道什么时候增加图系,希望能够指点一二
图片点击可在新窗口打开查看此主题相关图片如下:360反馈意见截图162106027896118.png
图片点击可在新窗口打开查看

--  作者:Bin
--  发布时间:2015/5/20 13:39:00
--  
例子发上来
--  作者:lkcao
--  发布时间:2015/5/20 13:57:00
--  
在图表窗口的按钮事件实现我所要生成的图表
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


--  作者:Bin
--  发布时间:2015/5/20 14:21:00
--  
Dim Chart As WinForm.Chart \'定义一个图表变量
Dim Series As WinForm.ChartSeries \'定义一个图系变量
Dim t As Table = Tables("ass2014下电子查询表") \'定义一个变量t引用数据表
Chart = e.Form.Controls("Chart1") \' 引用窗口中的图表
Chart.ChartType = ChartTypeEnum.Bar \'图表类型改为Bar(条形)
Chart.SeriesList.Clear() \'清除图表原来的图系

Series = Chart.SeriesList.Add() \'增加一个图系
Series.Text = "大于85"
Series.Length = t.Cols.Count-2 \'设置图系的长度
For c As Integer = 2 To t.Cols.Count - 1
    Series.X(c-2) = c-2
    Series.Y(c-2) = t.DataTable.Compute("count(" & t.Cols(c).name & ")",t.Cols(c).name & "=\'√\' and 总评成绩>=85")
    Chart.AxisX.SetValueLabel(c-2,t.Cols(c).name)
Next
Series = Chart.SeriesList.Add() \'增加一个图系
Series.Text = "75-85"
Series.Length = t.Cols.Count-2 \'设置图系的长度
For c As Integer = 2 To t.Cols.Count - 1
    Series.X(c-2) = c-2
    Series.Y(c-2) = t.DataTable.Compute("count(" & t.Cols(c).name & ")",t.Cols(c).name & "=\'√\' and 总评成绩 >75 and 总评成绩 <85")
    Chart.AxisX.SetValueLabel(c-2,t.Cols(c).name)
Next

Chart.AxisX.AnnoRotation=25
\'For r As Integer = 0 To t.Rows.Count - 1
    \'Chart.AxisX.SetValueLabel(r, 111) \'指定字符表示
\'Next
Chart.AxisX.AnnoWithLabels = True \'启用字符标示
Chart.VisualEffect = True \'加上这一行,让你的图表更漂亮
Chart.LegendVisible = True \'显示图列
Chart.LegendCompass= CompassEnum.South \'图列显示在南方(底端)

--  作者:Bin
--  发布时间:2015/5/20 14:23:00
--  
.
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1 (1).table


--  作者:lkcao
--  发布时间:2015/5/20 14:29:00
--  
图片点击可在新窗口打开查看哇,这样的编写太牛了,得好好学学,太感谢了
--  作者:大红袍
--  发布时间:2015/5/20 14:29:00
--  

Dim Chart As WinForm.Chart \'定义一个图表变量
Dim Series As WinForm.ChartSeries \'定义一个图系变量
Dim t As Table = Tables("ass2014下电子查询表") \'定义一个变量t引用数据表
Chart = Forms("图表").Controls("chart1") \' 引用窗口中的图表
Chart.ChartType = ChartTypeEnum.Bar \'图表类型改为Bar(条形)
Chart.SeriesList.Clear() \'清除图表原来的图系

Dim xs() As Integer = {85,75,60,0}

For Each c As Col In t.Cols
    If c.Name <> "总评成绩" AndAlso c.name <> "学号" Then
        Series = Chart.SeriesList.Add() \'增加一个图系
        Series.Text = c.Name \'设置图系的标题
        Series.Length = xs.Length \'设置图系的长度
        For r As Integer = 0 To xs.length - 1
            Series.X(r) = r
            Series.Y(r) = t.Compute("count(学号)", c.name & " = \'√\' and 总评成绩 >= " & xs(r))
        Next
    End If
Next
For r As Integer = 0 To xs.length - 1
    Chart.AxisX.SetValueLabel(r, xs(r) & "分") \'指定字符表示
Next
Chart.AxisX.AnnoWithLabels = True \'启用字符标示
Chart.VisualEffect = True \'加上这一行,让你的图表更漂亮
Chart.LegendVisible = True \'显示图列
Chart.LegendCompass= CompassEnum.South \'图列显示在南方(底端)


--  作者:lkcao
--  发布时间:2015/5/20 20:17:00
--  
能否将这个功能放到菜单功能区,对导入的任一“格式相同的EXCEL表”进行图表分析    (因为想保存数据不希望导入成临时表)
--  作者:大红袍
--  发布时间:2015/5/20 20:21:00
--  

 你理解代码后,就能对任意一个表统计生成图表