以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  foxtable同时生成多张图改如何做  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=66413)

--  作者:cglsg5076
--  发布时间:2015/4/5 22:46:00
--  foxtable同时生成多张图改如何做
尊敬的老师,foxtable好像只能同时生成一张图,能否同时生成多张数据图。代码如何写?谢谢指导。
--  作者:jialihaha
--  发布时间:2015/4/6 9:14:00
--  
用循环就可以了
--  作者:cglsg5076
--  发布时间:2015/4/7 9:31:00
--  
循环那肯定用,关键是如何写代码
--  作者:jialihaha
--  发布时间:2015/4/7 9:33:00
--  
求帮助,先说清楚你想做什么
--  作者:cglsg5076
--  发布时间:2015/4/7 14:11:00
--  
我需要解决以下问题。附件是我的统计的数据,我需要将4组array的数据分别放在四个tabpage里的chart里成图,也就是要自动生成4个图,每一个图是一个array,统计数据的第四列是array编号,第五列是每个array的gun的编号,第六、七、八和九列是每个gun的不同类型的数据,我需要图示多列这些数据。请问如何写代码。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:data.xls



--  作者:Bin
--  发布时间:2015/4/7 14:47:00
--  
上个狐表例子. 你可以用4个Chart控件分别生成
--  作者:cglsg5076
--  发布时间:2015/4/7 16:15:00
--  
我需要自动识别,实际当中可能不止4个,也可能2个或3个。代码我写了,但不通。请您给看看。多谢啦。

Dim cmd As New SQLCommand
Dim dt As DataTable
Dim Chart As WinForm.Chart \'定义一个图表变量
Dim Series As WinForm.ChartSeries \'定义一个图系变量
Dim t As Table = Tables("统计表") \'定义一个变量t引用数据表

Chart =Forms("displayinchart").Controls("Chart1")\' 引用窗口中的图表
Chart.ChartType = ChartTypeEnum.Bar \'图表类型改为Bar(条形)
Chart.SeriesList.Clear() \'清除图表原来的图系
Series.TooltipText = "X = {#XVAL}, Y = {#YVAL}"
cmd.CommandText ="Se lect DISTINCT 第四列,第五列,第六列,第七列,第八列,第九列 from {统计表} where val(第四列)=i"
dt = cmd.ExecuteReader

    Dim o = Forms("displayinchart").Controls("Chart1").TabPages.add("Garray" & i, "Garray" & i)
    Dim cht = Forms("displayinchart").CreateControl("chart" & i, ControlTypeEnum.Chart)
    cht.Dock = 5
    o.AddControl(cht)

Chart =Forms("displayinchart").Controls("Chart"& i) \'引用窗口中的图表
Chart.ChartType = ChartTypeEnum.Bar \'图表类型改为Bar(条形)
Chart.SeriesList.Clear() \'清除图表原来的图系

For Each c As Col In t.Cols
    If c.Name <> "第五列" Then
        Series = Chart.SeriesList.Add() \'增加一个图系
        Series.Text = c.Name \'设置图系的标题
        Series.Length = t.Rows.Count \'设置图系的长度
 For r As Integer =0 To t.Rows.Count-1 \'指定每个数据点的位置
            Dim sta As Row = Tables("统计表").Rows(i)
            Series.X(r) = r
            Series.Y(r) = t.Rows(r)(c.Name)
 Next 
    End If
Next
Next 

For r As Integer = 0 To t.Rows.Count - 1 
    Chart.AxisX.SetValueLabel(r, t.Rows(r)("第五列")) \'指定字符表示
Next 
Chart.AxisX.AnnoWithLabels = True \'启用字符标示
Chart.VisualEffect = True \'加上这一行,让你的图表更漂亮
Chart.LegendVisible = True \'显示图列
Chart.LegendCompass= CompassEnum.South \'图列显示在南方(底端)















--  作者:Bin
--  发布时间:2015/4/7 16:20:00
--  
文件例子发上来
--  作者:cglsg5076
--  发布时间:2015/4/7 16:40:00
--  
尊敬的版主,我的文件写的比较乱。数据我已经上传了,只要您将上述数据能自动汇成4张图,我根据您的代码,可以做相应的修改。关键是如何自动汇多张图,汇一张图我知道。

谢谢您的回复。

--  作者:Bin
--  发布时间:2015/4/7 16:54:00
--  
做个狐表文件例子发上来.