Foxtable(狐表)用户栏目专家坐堂 → 生成以用户列的每一个用户生成一个折线图?


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

主题:生成以用户列的每一个用户生成一个折线图?

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


加好友 发短信
等级:幼狐 帖子:99 积分:1155 威望:0 精华:0 注册:2012/9/30 10:20:00
生成以用户列的每一个用户生成一个折线图?  发帖心情 Post By:2023/6/26 11:22:00 [显示全部帖子]

如图,如何生成以用户列的每一个用户生成一个折线图
遇到的问题是:代码是将全部用户生成在一张图上了

图片点击可在新窗口打开查看此主题相关图片如下:图片1.png
图片点击可在新窗口打开查看


'制作报表
Dim doc As New PrintDoc '定义一个报表
Dim tbl As Table = Tables("表A")
For ii As Integer = tbl.TopRow To tbl.BottomRow
    Dim rw As Row = tbl.Rows(ii)
    Dim ra As New prt.RenderArea '定义一个容器
    ra.SplitVertBehavior = prt.SplitBehaviorEnum.Never '禁止容器因为分页而被垂直分割
    ra.SplitHorzBehavior = prt.SplitBehaviorEnum.Never '禁止水平分割
    
    '---------------------插入图表
    
    Dim Chart As WinForm.Chart '定义一个图表变量
    Dim Series As WinForm.ChartSeries '定义一个图系变量
    Dim t As Table = Tables("表A") '定义一个变量t引用数据表
    Chart = Forms("窗口1").Controls("Chart1") ' 引用窗口中的图表
    Chart.SeriesList.Clear() '清除图表原来的图系
    Series = Chart.SeriesList.Add() '增加一个图系
    Series.Length = t.Rows.Count '设置图系的长度
    For i As Integer = 0 To t.Rows.Count - 1 '指定每个数据点的位置
        Series.X(i) = i '指定水平坐标
        Series.Y(i) = t.Rows(i)("项目1") '指定垂直坐标
        Chart.AxisX.SetValueLabel(i, t.Rows(i)("用户")) '指定字符表示
    Next
    Chart.AxisX.AnnoWithLabels = True '启用字符标示
    
    Dim rm As New prt.RenderImage
    rm.Image = Chart.Image()
    doc.Body.Children.Add(rm) '将图片对象加入报表
    
Next
Doc.Preview() '预览报表
[此贴子已经被作者于2023/6/26 11:22:42编辑过]

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


加好友 发短信
等级:幼狐 帖子:99 积分:1155 威望:0 精华:0 注册:2012/9/30 10:20:00
  发帖心情 Post By:2023/6/26 11:47:00 [显示全部帖子]

老师,是一个用户一个图片
按照上面的表格,那就是应该有三张图片,
PD01一张;PD02一张;PD03一张;

 回到顶部