以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]图表生成出错 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=55493) |
-- 作者:utcxray -- 发布时间:2014/8/18 9:55:00 -- [求助]图表生成出错 Dim Chart As WinForm.Chart \'定义一个图表变量 Dim Series As WinForm.ChartSeries \'定义一个图系变量 Dim tbl As DataTable = DataTables("出库") \'定义一个变量tbl引用数据表 Dim lst As List(Of String) = tbl.GetValues("销售人员") \'获得人员名称集合 Chart = e.Form.Controls("Chart1") \' 引用窗口中的图表 Chart.SeriesList.Clear() \'清除图表原来的图系 Series = Chart.SeriesList.Add() \'增加一个图系 Series.Length = lst.Count \'设置图系的长度 For i As Integer = 0 To lst.Count - 1 \'指定每个数据点的位置 Series.X(i) = i \'指定水平坐标 Series.Y(i) = tbl.Compute("Sum(出库数量)","[销售人员] = \'" & lst(i) & "\'") \'指定垂直坐标 Chart.AxisX.SetValueLabel(i, lst(i)) \'指定字符表示 Next Chart.AxisX.AnnoWithLabels = True \'启用字符标示 此段代码执行后出现下述提示。表名称】及列名称均正确。此段代码是复制帮助中修改的。 .NET Framework 版本:2.0.50727.5483 Foxtable 版本:2014.8.6.1 错误所在事件:SystemIdle 详细错误信息: 未将对象引用设置到对象的实例。 |
-- 作者:有点甜 -- 发布时间:2014/8/18 10:00:00 -- 应该是没错的,如果错,应该是红色代码有问题,你排查一下。
Dim Chart As WinForm.Chart \'定义一个图表变量 |
-- 作者:Bin -- 发布时间:2014/8/18 10:00:00 -- 错误代码在 SystemIdle 把这里面的代码发出来看看. |
-- 作者:有点甜 -- 发布时间:2014/8/18 10:01:00 -- 但是提示是 SystemIdle 事件有错。
你去看一下你菜单的 SystemIdle 事件和 项目事件的 SystemIdle 是否写错代码。 |
-- 作者:utcxray -- 发布时间:2014/8/18 10:09:00 -- 我也纳闷,整个项目已运行了将近2月,一直正常,这个图表分析是昨天才添加的,运行出现问题, |
-- 作者:有点甜 -- 发布时间:2014/8/18 10:10:00 -- 那你不用这个功能是否就不报错?
有可能是数据有问题,导致代码出问题了,你去看对应事件的代码。 [此贴子已经被作者于2014-8-18 10:10:23编辑过]
|
-- 作者:utcxray -- 发布时间:2014/8/18 10:12:00 -- 换了表及列名也不行。 此主题相关图片如下:无标题.jpg |
-- 作者:utcxray -- 发布时间:2014/8/18 10:13:00 -- Dim Chart As WinForm.Chart \'定义一个图表变量 Dim Series As WinForm.ChartSeries \'定义一个图系变量 Dim tbl As DataTable = DataTables("采购明细") \'定义一个变量tbl引用数据表 Dim lst As List(Of String) = tbl.GetValues("供应商") \'获得人员名称集合 Chart = e.Form.Controls("Chart1") \' 引用窗口中的图表 Chart.SeriesList.Clear() \'清除图表原来的图系 Series = Chart.SeriesList.Add() \'增加一个图系 Series.Length = lst.Count \'设置图系的长度 For i As Integer = 0 To lst.Count - 1 \'指定每个数据点的位置 Series.X(i) = i \'指定水平坐标 Series.Y(i) = tbl.Compute("Sum(金额)","[供应商] = \'" & lst(i) & "\'") \'指定垂直坐标 Chart.AxisX.SetValueLabel(i, lst(i)) \'指定字符表示 Next Chart.AxisX.AnnoWithLabels = True \'启用字符标示
|
-- 作者:Bin -- 发布时间:2014/8/18 10:15:00 -- 建议您用这个方法: http://www.foxtable.com/help/topics/1485.htm 先找出是哪一行出错,然后分析原因,搞不定,贴出代码,并告诉我们运行到哪一行出错,以及错误提示。 或者上例子.
|
-- 作者:有点甜 -- 发布时间:2014/8/18 10:16:00 -- 请看2楼,你用代码调试一下哪里错了
http://www.foxtable.com/help/topics/1485.htm
|