Foxtable(狐表)用户栏目专家坐堂 → 这种表格怎么建立图表


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

主题:这种表格怎么建立图表

帅哥哟,离线,有人找我吗?
大红袍
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/7/25 11:37:00 [只看该作者]

参考代码

 

Dim Chart As WinForm.Chart '定义一个图表变量
Dim Series As WinForm.ChartSeries '定义一个图系变量
Dim t As Table = Tables("表A") '定义一个变量t引用数据表
Chart = e.Form.Controls("Chart1") ' 引用窗口中的图表
Chart.ChartType = ChartTypeEnum.Bar '图表类型改为Bar(条形)
Chart.VisualEffect = False
Chart.SeriesList.Clear() '清除图表原来的图系
Chart.AxisX.ClearValueLabel

Dim ls As new List(Of String)
For Each dr As DataRow In t.DataTable.Select("第一列 is not null", "第二列,第三列")
    Dim s As String = dr("第二列") & "-" & Format(dr("第三列"), "00")
    If ls.Contains(s) = False Then
        ls.add(s)
    End If
Next

For Each dq As String In t.DataTable.GetValues("第一列", "第一列 is not null")
    Series = Chart.SeriesList.Add() '增加一个图系
    Series.Text = dq
    Series.Length = ls.count
    For i As Integer = 0 To ls.count-1
        Dim r As Integer = i
        Dim ary() As String = ls(i).split("-")
        series.x(r) = r
        Dim sum As Double = t.compute("sum(第四列)", "第一列 = '" & dq & "' and 第二列 = '" & val(ary(0)) & "' and 第三列 = '" & val(ary(1)) & "'")
        series.y(r) = sum
        Chart.AxisX.setvaluelabel(r, ls(i))
    Next
Next
Chart.AxisX.AnnoWithLabels = True '启用字符标示
Chart.LegendVisible = True '显示图列
Chart.LegendCompass= CompassEnum.South '图列显示在南方(底端)
Chart.AxisX.AnnoRotation = - 45 'X轴标示逆时针旋转45度


 回到顶部
总数 11 上一页 1 2