以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  启用双图表 的困扰  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=74077)

--  作者:阿福
--  发布时间:2015/9/1 17:51:00
--  启用双图表 的困扰
Dim Chart As WinForm.Chart
Dim Series As WinForm.ChartSeries
Chart= Forms("支出统计").Controls("Chart1")
Dim dr As Row = e.Table.Current
Dim r As String() = {"购买_母猪","购买_公猪","购买_肉猪","饲料","疫苗","药品","易耗品","保险费","水电费","工资费用","工程折旧费","其他支出"}

Chart.ChartType = ChartTypeEnum.Bar
Chart.ChartType2 = ChartTypeEnum.XYPlot
Chart.SeriesList.Clear() 
Series = Chart.SeriesList.Add()
Series.Text = "费用/元"
Series.Length = r.Length
For i As Integer = 0 To r.Length - 1
Series.X(i) = i 
Series.Y(i) = dr(r(i))
Chart.AxisX.SetValueLabel(i, r(i)) 
Next
Chart.AxisX.AnnoWithLabels = True
Series.DataLabelText = "{#YVAL}"
Chart.VisualEffect = True


Dim sm As Integer
For i As Integer = 0 To r.Length -1
sm = sm + dr(r(i))
Next
Chart.SeriesList2.Clear()
Series = Chart.SeriesList2.Add()
Series.Text = "比例"
Series.Length = r.Length
For i As Integer = 0 To r.Length - 1
Series.X(i) = i
Series.Y(i) =  format(dr(r(i)) / sm,"0.0%")
Next
Series.DataLabelText = "{#YVAL}"
Chart.VisualEffect = True

老师,帮忙看一下哪里出错了,错误提示如下:
.NET Framework 版本:2.0.50727.8000
Foxtable 版本:2014.11.11.1
错误所在事件:支出统计_Table1,CurrentChanged
详细错误信息:
Invalid data type
[此贴子已经被作者于2015/9/1 17:51:32编辑过]

--  作者:大红袍
--  发布时间:2015/9/1 17:53:00
--  
Series.Y(i) 的值,只能用数值,不能用字符
--  作者:阿福
--  发布时间:2015/9/1 18:01:00
--  
原来这样,谢谢大红袍老师!
--  作者:阿福
--  发布时间:2015/9/1 18:20:00
--  
老师,请问可以在Pie(饼型)中
Series.Y(0) = r("数量"
除了显示数值,还可以显示图示的标题 

--  作者:阿福
--  发布时间:2015/9/1 18:20:00
--  
因为如果多了几个Series.Length,颜色比较相似很难分出


--  作者:大红袍
--  发布时间:2015/9/1 18:46:00
--  
只有饼图可以这样,其余的都不能那样自定义显示的
--  作者:阿福
--  发布时间:2015/9/1 19:54:00
--  
老师我的意思是,可以在Pie(饼型)中

Series.Y(0) = r("数量") & "产品名称"

除了显示数值,还可以显示图示的标题

--  作者:大红袍
--  发布时间:2015/9/1 19:56:00
--  

看最后一个例子

 

http://www.foxtable.com/help/topics/0972.htm

 


--  作者:阿福
--  发布时间:2015/9/1 20:21:00
--  
看到了,谢谢老师!