以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]图表生成出错 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=55672) |
||||
-- 作者:utcxray -- 发布时间:2014/8/21 10:35: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("Month(出库日期)") \'获得日期名称集合 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(金额)","[Month(出库日期)] = \'" & lst(i) & " \' ") \'指定垂直坐标 Chart.AxisX.SetValueLabel(i, lst(i)) \'指定字符表示 Next Chart.AxisX.AnnoWithLabels = True \'启用字符标示 目的:根据出库日期生成每月的金额曲线。根据前次的经验,所有数据均无空值,表名及列名均正确。出现以下提示。
|
||||
-- 作者:Bin -- 发布时间:2014/8/21 10:36:00 -- 文件例子发上来看看 |
||||
-- 作者:有点甜 -- 发布时间:2014/8/21 10:40:00 -- 这段代码肯定没有问题,其它什么地方影响了。 |
||||
-- 作者:utcxray -- 发布时间:2014/8/21 11:02:00 -- 原因未明。 现在好了,但下面日期如何才能显示为“月”呢。我也不知道是怎么回事 此主题相关图片如下:无标题.jpg |
||||
-- 作者:有点甜 -- 发布时间:2014/8/21 11:05:00 -- 显示月?
这个意思? Chart.AxisX.SetValueLabel(i, lst(i) & "月") \'指定字符表示 |
||||
-- 作者:utcxray -- 发布时间:2014/8/21 11:11:00 -- 水平坐标显示为月 入上图所示,代码中出库日期是年月日格式,想转化为月,加个MONTH,但不识别,去掉MONTH后可以出图表,但因为获得的是年月日,水平坐标显示的是年月日,看不清。 |
||||
-- 作者:utcxray -- 发布时间:2014/8/21 11:26: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("Chart2") \' 引用窗口中的图表 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, Month(lst(i))) \'指定字符表示 \' Chart.AxisX.SetValueLabel(i, lst(i) & "月") \'指定字符表示 Next Chart.AxisX.AnnoWithLabels = True \'启用字符标示 |
||||
-- 作者:utcxray -- 发布时间:2014/8/21 11:31:00 -- 我想按1月 2月 3月等等作为横坐标。 |
||||
-- 作者:有点甜 -- 发布时间:2014/8/21 11:35:00 -- 方法一:http://www.foxtable.com/help/topics/1030.htm
|
||||
-- 作者:有点甜 -- 发布时间:2014/8/21 11:38:00 -- 方法二:需要额外特殊处理才行,请上传例子。 |