以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  图表设计  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=74227)

--  作者:kaituozhe
--  发布时间:2015/9/6 18:01:00
--  图表设计
 以下这段代码是帮助中的代码,我设置的按钮名称为“chart1”,执行时提示错误: 

.NET Framework 版本:2.0.50727.5485
Foxtable 版本:2014.11.11.1
错误所在事件:窗口,成本分析,Chart1,Click
详细错误信息:
无法将类型为“Foxtable.WinForm.Button”的对象强制转换为类型“Foxtable.WinForm.Chart”。这是什么原因。
Dim
Chart As WinForm.Chart \'定义一个图表变量
Dim
Series As WinForm.ChartSeries \'定义一个图系变量
Chart= e.Form.Controls(
"Chart1") \' 引用窗口中的图表
Chart.SeriesList.Clear()
\'清除图表原来的图系
Series = Chart.SeriesList.Add()
\'增加一个图系
Series.Length =
10 \'新增图系包括10个数据点
For
i As integer = 0 to 9 \'指定每个数据点的位置
Series.X(i) = i
\'指定水平坐标
Series.Y(i) = i + Rand.
Next(5) \'垂直坐标用随机数生成

Next


--  作者:Hyphen
--  发布时间:2015/9/6 18:04:00
--  
应该放一个图表控件名称为“chart1”,按钮名称改为其它
[此贴子已经被作者于2015/9/7 8:22:32编辑过]

--  作者:大红袍
--  发布时间:2015/9/6 18:04:00
--  
你要加入一个chart控件,也就是图表控件。
--  作者:kaituozhe
--  发布时间:2015/9/6 18:16:00
--  
可以了,再问一个问题,在专业报表中设计图表与在窗口中设计图表代码是一样的吗?是否13种图表都可以在专业报表中设计。
--  作者:大红袍
--  发布时间:2015/9/6 18:26:00
--  

如果要在专业报表里显示,你参考 http://www.foxtable.com/help/topics/2094.htm

 


--  作者:kaituozhe
--  发布时间:2015/9/6 19:17:00
--  

我想在专业报表中实现以下功能:

挑选每种产品,按月按部门列出直接材料(标准、实际)、间接费用(标准、实际)、直接人工(标准、实际)做对比。


--  作者:kaituozhe
--  发布时间:2015/9/6 19:18:00
--  

我想在专业报表中实现以下功能:

挑选每种产品,按月按部门列出直接材料(标准、实际)、间接费用(标准、实际)、直接人工(标准、实际)做对比。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:生产管理部分4.table


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

先分组生成表格,再根据统计表生成要的图表

 

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

 

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

 


--  作者:kaituozhe
--  发布时间:2015/9/7 19:05:00
--  

还是上面那个例子,我想把材料成本分为实际与标准,间接费用也分为实际与标准,然后分别在两个图中显示,我编写了一段代码,不知道什么原因还是分不开帮我看一下:

Dim Chart As New ChartBuilder
Dim Series As WinForm.ChartSeries \'定义一个图系变量
Dim t As Table = Tables("成本核算") \'定义一个变量t引用数据表
Chart.ChartType = ChartTypeEnum.Bar \'图表类型改为Bar(条形)
Chart.DataSource = "成本核算" \'设置绑定表
Chart.SeriesList.Clear() \'清除图表原来的图系
Chart.AxisY.Min = 0 \'指定Y轴的最小值
\'Chart.AxisY.Max =15000 \'指定Y轴的最大值
Chart.PrintWidth = 140 \'宽度设为140毫米
Chart.PrintHeight = 100 \'高度设为100毫米
Series = Chart.SeriesList.Add()
Series.Text = "标准成本_材料成本" \'设置图系的标题
Series.X.DataField = "年月" \'X轴绑定到产品列
Series.Y.DataField = "标准成本_材料成本" \'设置Y轴的绑定列
Series.DataLabelText = "{#YVAL}"
Series = Chart.SeriesList.Add()
Series.Text = "实际成本_材料成本" \'设置图系的标题
Series.X.DataField = "年月" \'X轴绑定到产品列
Series.Y.DataField = "实际成本_材料成本" \'设置Y轴的绑定列
Series.DataLabelText = "{#YVAL}"
Chart.BarClusterWidth = 80
Chart.VisualEffect = True \'加上这一行,让你的图表更漂亮
Chart.LegendVisible = True \'显示图列
Chart.LegendCompass= CompassEnum.South \'图列显示在南方(底端)

Dim Chart1 As New ChartBuilder
Dim Series1 As WinForm.ChartSeries \'定义一个图系变量
Dim t1 As Table = Tables("成本核算") \'定义一个变量t引用数据表
Chart1.ChartType = ChartTypeEnum.Bar \'图表类型改为Bar(条形)
Chart1.DataSource = "成本核算" \'设置绑定表
\'Chart1.SeriesList.Clear() \'清除图表原来的图系
Chart1.AxisY.Min = 0 \'指定Y轴的最小值
\'Chart.AxisY.Max =15000 \'指定Y轴的最大值
Chart1.PrintWidth = 140 \'宽度设为140毫米
Chart1.PrintHeight = 100 \'高度设为100毫米
Series1 = Chart.SeriesList.Add()
Series1.Text = "标准成本_间接费用" \'设置图系的标题
Series1.X.DataField = "年月" \'X轴绑定到产品列
Series1.Y.DataField = "标准成本_间接费用" \'设置Y轴的绑定列
Series1.DataLabelText = "{#YVAL}"
Series1 = Chart.SeriesList.Add()
Series1.Text = "实际成本_间接费用" \'设置图系的标题
Series1.X.DataField = "年月" \'X轴绑定到产品列
Series1.Y.DataField = "实际成本_间接费用" \'设置Y轴的绑定列
Series1.DataLabelText = "{#YVAL}"
Chart1.BarClusterWidth = 80
Chart1.VisualEffect = True \'加上这一行,让你的图表更漂亮
Chart1.LegendVisible = True \'显示图列
Chart1.LegendCompass= CompassEnum.South \'图列显示在南方(底端)

Dim doc As New PrintDoc
Dim drx As new prt.RenderArea
Dim rm As New prt.RenderImage
Dim rm1 As New prt.RenderImage
rm.Image = Chart.Image
rm1.Image = Chart1.Image
drx.Children.Add(rm)
drx.Children.Add(rm1)
doc.Body.Children.Add(drx)
Doc.Preview()


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

Dim Chart As New ChartBuilder
Dim Series As WinForm.ChartSeries \'定义一个图系变量
Dim t As Table = Tables("成本核算") \'定义一个变量t引用数据表
Chart.ChartType = ChartTypeEnum.Bar \'图表类型改为Bar(条形)
Chart.DataSource = "成本核算" \'设置绑定表
Chart.SeriesList.Clear() \'清除图表原来的图系
Chart.AxisY.Min = 0 \'指定Y轴的最小值
\'Chart.AxisY.Max =15000 \'指定Y轴的最大值
Chart.PrintWidth = 140 \'宽度设为140毫米
Chart.PrintHeight = 100 \'高度设为100毫米
Series = Chart.SeriesList.Add()
Series.Text = "标准成本_材料成本" \'设置图系的标题
Series.X.DataField = "年月" \'X轴绑定到产品列
Series.Y.DataField = "标准成本_材料成本" \'设置Y轴的绑定列
Series.DataLabelText = "{#YVAL}"
Series = Chart.SeriesList.Add()
Series.Text = "实际成本_材料成本" \'设置图系的标题
Series.X.DataField = "年月" \'X轴绑定到产品列
Series.Y.DataField = "实际成本_材料成本" \'设置Y轴的绑定列
Series.DataLabelText = "{#YVAL}"
Chart.BarClusterWidth = 80
Chart.VisualEffect = True \'加上这一行,让你的图表更漂亮
Chart.LegendVisible = True \'显示图列
Chart.LegendCompass= CompassEnum.South \'图列显示在南方(底端)

Dim Chart1 As New ChartBuilder
Dim Series1 As WinForm.ChartSeries \'定义一个图系变量
Dim t1 As Table = Tables("成本核算") \'定义一个变量t引用数据表
Chart1.ChartType = ChartTypeEnum.Bar \'图表类型改为Bar(条形)
Chart1.DataSource = "成本核算" \'设置绑定表
\'Chart1.SeriesList.Clear() \'清除图表原来的图系
Chart1.AxisY.Min = 0 \'指定Y轴的最小值
\'Chart.AxisY.Max =15000 \'指定Y轴的最大值
Chart1.PrintWidth = 140 \'宽度设为140毫米
Chart1.PrintHeight = 100 \'高度设为100毫米
Series1 = Chart1.SeriesList.Add()
Series1.Text = "标准成本_间接费用" \'设置图系的标题
Series1.X.DataField = "年月" \'X轴绑定到产品列
Series1.Y.DataField = "标准成本_间接费用" \'设置Y轴的绑定列
Series1.DataLabelText = "{#YVAL}"
Series1 = Chart1.SeriesList.Add()
Series1.Text = "实际成本_间接费用" \'设置图系的标题
Series1.X.DataField = "年月" \'X轴绑定到产品列
Series1.Y.DataField = "实际成本_间接费用" \'设置Y轴的绑定列
Series1.DataLabelText = "{#YVAL}"
Chart1.BarClusterWidth = 80
Chart1.VisualEffect = True \'加上这一行,让你的图表更漂亮
Chart1.LegendVisible = True \'显示图列
Chart1.LegendCompass= CompassEnum.South \'图列显示在南方(底端)

Dim doc As New PrintDoc
Dim drx As new prt.RenderTable
Dim rm As New prt.RenderImage
Dim rm1 As New prt.RenderImage
rm.Image = Chart.Image
rm1.Image = Chart1.Image
drx.Cells(0,0).RenderObject = rm
drx.Cells(5,0).RenderObject = rm1
doc.Body.Children.Add(drx)
Doc.Preview()