以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 图表的代码日期格式化后总错误 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=55109) |
-- 作者:tesia255 -- 发布时间:2014/8/11 11:11:00 -- 图表的代码日期格式化后总错误 Dim d As Date =Date.Today Dim sd As WinForm.DateTimePicker = e.Form.Controls("StartDate") Dim ed As WinForm.DateTimePicker = e.Form.Controls("EndDate") ed.value=d.AddDays(-1) sd.value=d.AddDays(-7) Dim Chart As WinForm.Chart \'定义一个图表变量 Dim Series As WinForm.ChartSeries \'定义一个图系变量 Dim tbl As DataTable = DataTables("订单财务明细") \'定义一个变量tbl引用数据表 Dim lst As List(Of String) = tbl.GetValues("交易时间","[交易时间]>=#" & sd.Value & "# And [交易时间]<=#" & ed.Value & "# ) \'获得交易时间集合 Chart = e.Form.Controls("Chart1") \' 引用窗口中的图表 Chart.SeriesList.Clear() \'清除图表原来的图系 Series = Chart.SeriesList.Add() \'增加一个图系 Series.Length = lst.Count \'设置图系的长度 Chart.ChartType = ChartTypeEnum.Bar Chart.AxisX.DateType = True \'X轴是日期型 Chart.AxisX.AnnoFormatString = "dddd" \'只显示星期 Series.TooltipText = "费用 =¥ {#YVAL}" 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,Format(lst(i),"dddd")) \'指定字符表示 Next Chart.AxisX.AnnoWithLabels = True \'启用字符标示 结果X轴显示的坐标值 都是 dddd 请各位老师指教~ |
-- 作者:有点甜 -- 发布时间:2014/8/11 11:20:00 -- Dim d As Date =Date.Today
Dim sd As WinForm.DateTimePicker = e.Form.Controls("StartDate")
Dim ed As WinForm.DateTimePicker = e.Form.Controls("EndDate")
ed.value=d.AddDays(-1)
sd.value=d.AddDays(-7)
Dim Chart As WinForm.Chart \'定义一个图表变量
Dim Series As WinForm.ChartSeries \'定义一个图系变量
Dim tbl As DataTable = DataTables("订单财务明细") \'定义一个变量tbl引用数据表
Dim lst As List(Of String) = tbl.GetValues("交易时间","[交易时间]>=#" & sd.Value & "# And [交易时间]<=#" & ed.Value & "# ) \'获得交易时间集合
Chart = e.Form.Controls("Chart1") \' 引用窗口中的图表
Chart.SeriesList.Clear() \'清除图表原来的图系
Series = Chart.SeriesList.Add() \'增加一个图系
Series.Length = lst.Count \'设置图系的长度
Chart.ChartType = ChartTypeEnum.Bar
Chart.AxisX.DateType = True \'X轴是日期型
Series.TooltipText = "费用 =¥ {#YVAL}"
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,Format(cdate(lst(i)),"dddd")) \'指定字符表示
Next
Chart.AxisX.AnnoWithLabels = True \'启用字符标示
|
-- 作者:tesia255 -- 发布时间:2014/8/11 11:41:00 -- 可以了 十分感谢 再请教下,如果我想两行显示X轴坐标 第一行是日期(即交易时间),第二行是星期(即交易时间的星期显示) 怎么实现呢? 另外,Series.TooltipText 这个函数是否可以实现显示X轴的日期,我设置 {#XVAL} 总是显示 0,1,2,3,…… 请指教,谢谢~
|
-- 作者:有点甜 -- 发布时间:2014/8/11 11:49:00 -- 1、你可以变通处理
Chart.AxisX.SetValueLabel(i,lst(i) & chr(13) & Format(cdate(lst(i)),"dddd")) \'指定字符表示
2、{#XVAL}只能显示坐标,无法自定义成对应的值。 |
-- 作者:tesia255 -- 发布时间:2014/8/11 13:14:00 -- 了解了 谢谢您!十分感谢
|