以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]关于图表X轴日期型和字符型切换显示不正常的请教  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=83534)

--  作者:舟舟
--  发布时间:2016/4/12 1:26:00
--  [求助]关于图表X轴日期型和字符型切换显示不正常的请教
各位,请教个关于图表X轴日期节点和字符型节点切换显示不正常的问题。界面上有一个图表控件,两个按钮。其中一个按钮代码如下:
以下内容为程序代码:

1 Dim temp As S tring = "ZB0002"
2 Dim dt As DataTable
3 Dim cmd1 As new SQLCommand
4 cmd1.C
5 cmd1.CommandText ="s elect * from (s elect 装备信息_类别编号,装备信息_装备型号,装备信息_数量 as 数量,入库信息_入库时间 from{入库明细} a left join {入库单} b on a.入库单号 = b.入库单号) where 装备信息_类别编号=\'" & temp & "\'"
6 dt = cmd1.ExecuteReader
7 Dim Chart As WinForm.Chart \'定义一个图表变量
8 Dim Series As WinForm.ChartSeries \'定义一个图系变量
9 Chart= e.Form.Controls("Chart1") \' 引用窗口中的图表
10 Chart.DataTable = dt
11 Chart.ChartType = ChartTypeEnum.Bar
12 Chart.AxisX.DateType = True \'明确指定X轴是日期型
13 Chart.AxisX.AnnoFormatString = "yyyy-MM-dd" \'制定日期表示格式
14 Chart.SeriesList.Clear() \'清除图表原来的图系
15 Series = Chart.SeriesList.Add() \'增加一个图系
16 Series.X.DataField = "入库信息_入库时间" \'X轴绑定到月份列
17 Series.Y.DataField = "数量" \'Y轴绑定到数量列


另一个按钮代码仅仅是将,Chart.AxisX.DateType = True
Chart.AxisX.AnnoFormatString = "yyyy-MM-dd"   两句去掉,将Series.X.DataField = "入库信息_入库时间" 改为:Series.X.DataField = "数量",其它其不变。

奇怪的是:点击第2个代码时能正常显示,X轴的各节点名字也正常,但此时点击第1个代码后,能够正常显示图表,就是图表的X轴不显示节点的日期。但是,如果2个按钮的代码中X轴均是日期时一切正常,均是字符时也一切正常,就是一个字符 ,一个日期,切换后日期不能正常显示!!!!

--  作者:Hyphen
--  发布时间:2016/4/12 8:45:00
--  
另一个按钮代码仅仅是将,Chart.AxisX.DateType = True

改成:Chart.AxisX.DateType = false,试试

不行上传例子说明



--  作者:大红袍
--  发布时间:2016/4/12 9:19:00
--  

 是不是你没有把x轴原来的字符清除?上传具体例子。

 

Chart.AxisX.ClearValueLabel


--  作者:舟舟
--  发布时间:2016/4/12 13:43:00
--  回复:(大红袍) 是不是你没有把x轴原来的字符清...
大红袍老师,请看我的例子。当切换点击到“X轴为日期”时,X轴不显示任何日期。请再帮忙看下为什么。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.rar


--  作者:大红袍
--  发布时间:2016/4/12 14:35:00
--  

Dim Chart As WinForm.Chart \'定义一个图表变量
Dim Series As WinForm.ChartSeries \'定义一个图系变量
Chart= e.Form.Controls("Chart1") \' 引用窗口中的图表
Chart.DataTable = DataTables("表A")
Chart.ChartType = ChartTypeEnum.Bar
Chart.AxisX.AnnoWithLabels = False
Chart.AxisX.DateType =True
Chart.AxisX.AnnoFormatString = "yyyy-MM-dd"
Chart.SeriesList.Clear() \'清除图表原来的图系
Series = Chart.SeriesList.Add() \'增加一个图系


Series.X.DataField = "日期" \'X轴绑定到月份列
Series.Y.DataField = "数量" \'Y轴绑定到数量列
Series.DataLabelText = "{#YVAL}"