以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  请教我图表哪写错了,谢谢~  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=98049)

--  作者:zhy400137
--  发布时间:2017/3/23 11:44:00
--  请教我图表哪写错了,谢谢~
    Dim Chart As New ChartBuilder
    Dim Series As WinForm.ChartSeries \'定义一个图系变量
    Dim tbl As DataTable =dt
    Chart.PrintWidth = 240
    Chart.PrintHeight = 100
    Dim t As Table =Tables("五级分类临时表")  \'生成统计表 \'定义一个变量t引用数据表
    Chart.VisualEffect = False
    Chart.SeriesList.Clear() \'清除图表原来的图系
    msgbox(1)
    For r As Integer = 0 To t.Rows.count - 1
        Series = Chart.SeriesList.Add() \'增加一个图系
        Series.Length = t.rows.count - 1 \'设置图系的长度
        Series.X(r) = t.Rows(r)("五级分类")
        Series.Y(r) = t.Rows(r)("销售金额")
        Chart.AxisY.SetValueLabel(r, t.rows(r)("五级分类"))
    Next
    Chart.AxisY.AnnoWithLabels = True \'启用字符标示

--  作者:zhy400137
--  发布时间:2017/3/23 11:45:00
--  
.NET Framework 版本:2.0.50727.4927
Foxtable 版本:2017.3.18.1
错误所在事件:自定义函数WebwjflList
详细错误信息:
调用的目标发生了异常。
无效的数据类型


--  作者:zhy400137
--  发布时间:2017/3/23 11:45:00
--  
我的表结构是;
销售地区,期间,五级分类,销售金额

msgbox(1)是可以弹出的

--  作者:有点色
--  发布时间:2017/3/23 11:49:00
--  
 Series.X(r) = t.Rows(r)("五级分类")
 Series.Y(r) = t.Rows(r)("销售金额")
 
改成
 
  Series.X(r) = r
  Series.Y(r) = val(t.Rows(r)("销售金额"))

 

 


--  作者:zhy400137
--  发布时间:2017/3/23 12:04:00
--  
Dim Chart As New ChartBuilder
    Dim Series As WinForm.ChartSeries \'定义一个图系变量
    Dim t As Table =Tables("五级分类临时表")  \'生成统计表 \'定义一个变量t引用数据表
    Tables("五级分类临时表").Sort="销售金额 Desc"
    Chart.ChartType = ChartTypeEnum.Bar
    Chart.PrintWidth = 240
    Chart.PrintHeight = 100
    Chart.AxisX.AnnoRotation = - 90
    Chart.SeriesList.Clear() \'清除图表原来的图系
    For r As Integer = 0 To t.Rows.count - 1
        Series = Chart.SeriesList.Add() \'增加一个图系
        Series.Text = t.rows(r)("五级分类")  \'设置图系的标题
        Series.Length = t.rows.count - 1 \'设置图系的长度
        Series.X(r) = r
        Series.Y(r) = t.Rows(r)("销售金额")
        Chart.AxisX.SetValueLabel(r, t.rows(r)("五级分类"))
    Next
    Chart.AxisX.AnnoWithLabels = True \'启用字符标示
这样写对了,但条形图特别细,要如何调整

--  作者:有点色
--  发布时间:2017/3/23 12:24:00
--  

 你的行太多?你的数据越多,自然越小。要么你把chart拉宽一些,要么,数据量你弄小一些。

 

 还有就是,间隔弄一下 http://www.foxtable.com/webhelp/scr/0989.htm