Foxtable(狐表)用户栏目专家坐堂 → 数据点出错


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

主题:数据点出错

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


加好友 发短信
等级:六尾狐 帖子:1303 积分:10071 威望:0 精华:0 注册:2013/11/8 15:27:00
数据点出错  发帖心情 Post By:2016/1/7 16:57:00 [只看该作者]

Dim Chart As WinForm.Chart '定义一个图表变量
Dim Series As WinForm.ChartSeries '定义一个图系变量
Dim t1 As Table = Tables("销售预算进度分析") '定义一个变量t引用数据表
Chart = e.Form.Controls("销售预算1") ' 引用窗口中的图表
Chart.ChartType = ChartTypeEnum.Bar '图表类型改为Bar(条形)
Chart.SeriesList.Clear() '清除图表原来的图系
For Each c As Col In t.Cols
    If c.Name <> "所属单位"  And c.Name <> "年" And c.Name <> "月"  And c.Name <> "预算完成比率"   Then
        Series = Chart.SeriesList.Add() '增加一个图系
        Series.Text = c.Name '设置图系的标题
        Series.Length = t1.Rows.Count  '设置图系的长度
        For r1 As Integer = 1 To t1.Rows.Count 
            Series.X(r1) = r1
            Series.Y(r1) = t1.Rows(r1)(c.Name)
        Next
    End If
Next
For r1 As Integer = 1 To t1.Rows.Count 
    Chart.AxisX.SetValueLabel(r1, t1.Rows(r1)("月")) '指定字符表示
Next


问题:位置错位,而且预算数据没显示并提示错误

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

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

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


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

Dim Chart As WinForm.Chart '定义一个图表变量
Dim Series As WinForm.ChartSeries '定义一个图系变量
Dim t1 As Table = Tables("销售预算进度分析") '定义一个变量t引用数据表
Chart = e.Form.Controls("销售预算1") ' 引用窗口中的图表
Chart.ChartType = ChartTypeEnum.Bar '图表类型改为Bar(条形)
Chart.SeriesList.Clear() '清除图表原来的图系
For Each c As Col In t.Cols
    If c.Name <> "所属单位"  And c.Name <> "年" And c.Name <> "月"  And c.Name <> "预算完成比率"   Then
        Series = Chart.SeriesList.Add() '增加一个图系
        Series.Text = c.Name '设置图系的标题
        Series.Length = t1.Rows.Count  '设置图系的长度
        For r1 As Integer = 0 To t1.Rows.Count -1
            Series.X(r1) = r1
            Series.Y(r1) = t1.Rows(r1)(c.Name)
        Next
    End If
Next
For r1 As Integer = 0 To t1.Rows.Count -1
    Chart.AxisX.SetValueLabel(r1, t1.Rows(r1)("月")) '指定字符表示
Next


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


加好友 发短信
等级:六尾狐 帖子:1303 积分:10071 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2016/1/7 17:10:00 [只看该作者]

如何变成1-12月呢

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


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


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

不可能这样,加上代码

 

Chart.AxisX.AnnoWithLabels = True '启用字符标示


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


加好友 发短信
等级:六尾狐 帖子:1303 积分:10071 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2016/1/7 17:19:00 [只看该作者]

哦,明白了

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


加好友 发短信
等级:六尾狐 帖子:1303 积分:10071 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2016/1/7 17:31:00 [只看该作者]

另外,双图表且不绑定的情况下,代码要怎样写
Dim Chart As WinForm.Chart '定义一个图表变量
Dim Series As WinForm.ChartSeries '定义一个图系变量
Dim t1 As Table = Tables("销售预算进度分析") '定义一个变量t引用数据表
Chart = e.Form.Controls("销售预算1") ' 引用窗口中的图表
Chart.ChartType = ChartTypeEnum.Bar '图表类型改为Bar(条形)
Chart.ChartType2 = ChartTypeEnum.XYPlot '图表2类型该为线形
Chart.SeriesList.Clear() '清除图表原来的图系
Chart.SeriesList2.Clear() '清除图表原来的图系
For Each c As Col In t.Cols
    If c.Name <> "所属单位"  And c.Name <> "年" And c.Name <> "月"  And c.Name <> "预算完成比率"   Then
        Series = Chart.SeriesList.Add() '增加一个图系
        Series.Text = c.Name '设置图系的标题
        Series.Length = t1.Rows.Count  '设置图系的长度
        For r1 As Integer = 0 To t1.Rows.Count -1
            Series.X(r1) = r1
            Series.Y(r1) = t1.Rows(r1)(c.Name)
        Next
    ElseIf c.Name <> "所属单位"  And c.Name <> "年" And c.Name <> "月"  And c.Name <> "销售实际"  And c.Name <> "销售预算"    Then
        Series = Chart.SeriesList2.Add() '增加一个图系
        Series.Text = c.Name '设置图系的标题
        Series.Length = t1.Rows.Count  '设置图系的长度
        For r1 As Integer = 0 To t1.Rows.Count -1
            Series.X(r1) = r1
            Series.Y2(r1) = t1.Rows(r1)(c.Name)
        Next
    End If
Next

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


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

上传实例。

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


加好友 发短信
等级:六尾狐 帖子:1303 积分:10071 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2016/1/7 23:10:00 [只看该作者]

其中“预算完成比率”要求为折线图
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目3.foxdb



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


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

Dim Chart As WinForm.Chart '定义一个图表变量
Dim Series As WinForm.ChartSeries '定义一个图系变量
Dim t1 As Table = Tables("销售预算进度分析") '定义一个变量t引用数据表
Chart = e.Form.Controls("销售预算1") ' 引用窗口中的图表
Chart.ChartType = ChartTypeEnum.Bar '图表类型改为Bar(条形)
Chart.ChartType2 = ChartTypeEnum.XYPlot '图表2类型该为线形
Chart.SeriesList.Clear() '清除图表原来的图系
Chart.SeriesList2.Clear() '清除图表原来的图系
Chart.AxisX.ClearValueLabel
For Each c As Col In t1.Cols
    If c.Name <> "所属单位"  And c.Name <> "年" And c.Name <> "月" And c.Name <> "预算完成比率" Then
        Series = Chart.SeriesList.Add() '增加一个图系
        Series.Text = c.Name '设置图系的标题
        Series.Length = t1.Rows.Count  '设置图系的长度
        For r1 As Integer = 0 To t1.Rows.Count -1
            Series.X(r1) = r1
            Series.Y(r1) = val(t1.Rows(r1)(c.Name))
        Next
    End If
    If c.Name <> "所属单位"  And c.Name <> "年" And c.Name <> "月" And c.Name = "预算完成比率" Then
        Series = Chart.SeriesList2.Add() '增加一个图系
        Series.Text = c.Name '设置图系的标题
        Series.Length = t1.Rows.Count  '设置图系的长度
        For r1 As Integer = 0 To t1.Rows.Count -1
            Series.X(r1) = r1
            Series.Y(r1) = val(t1.Rows(r1)("预算完成比率"))
        Next
    End If
Next
For r1 As Integer = 0 To t1.Rows.Count -1
    Chart.AxisX.SetValueLabel(r1, t1.Rows(r1)("月") & "月") '指定字符表示
Next
Chart.AxisX.AnnoWithLabels = True '启用字符标示

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


加好友 发短信
等级:六尾狐 帖子:1303 积分:10071 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2016/1/7 23:32:00 [只看该作者]

可以了,谢谢。只是还不太明白,先消化下。

 回到顶部