以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  在“区分项目”时图表无法绑定。  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=101471)

--  作者:地瓜
--  发布时间:2017/6/1 8:56:00
--  在“区分项目”时图表无法绑定。
在“图表分析”窗体中,当点击“区分项目”时,使用了双图表,但是显示的数据不对,请指教,谢谢!
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:办公管理云平台 - 副本.zip

密码:1234

图片点击可在新窗口打开查看此主题相关图片如下:区分.jpg
图片点击可在新窗口打开查看


--  作者:有点色
--  发布时间:2017/6/1 9:18:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:办公管理云平台.table


--  作者:地瓜
--  发布时间:2017/6/1 9:32:00
--  
谢谢!但是在显示时数字太多了,这是怎么回事呢?

图片点击可在新窗口打开查看此主题相关图片如下:区分1.jpg
图片点击可在新窗口打开查看


--  作者:有点色
--  发布时间:2017/6/1 10:21:00
--  

Dim e As Object = Args(0)
\'生成统计表
Dim g As New CrossTableBuilder("统计表1", DataTables("lxtj"))
g.HGroups.AddDef("rq", DateGroupEnum.Year, "年")
g.VGroups.AddDef("xm")
g.Totals.AddDef("je", "金额(万元)")
g.Totals.AddDef("sl", "数量")
g.Build()
\'For Each c As Col In Tables("统计表1").cols
\'If c.IsNumeric Then
\'c.Table.DataTable.ReplaceFor(c.name, 0, c.name & " is null")
\'End If
\'Next

\'============生成图表==============
Dim Chart As WinForm.Chart \'定义一个图表变量
Dim Series As WinForm.ChartSeries \'定义一个图系变量
Dim t As Table = Tables("统计表1") \'定义一个变量t引用数据表
Chart = e.Form.Controls("Chart1") \' 引用窗口中的图表
Chart.ChartType2 = ChartTypeEnum.Bar \'图表类型改为Bar(条形)
Chart.SeriesList.Clear() \'清除图表原来的图系
Chart.AxisX.Major=1
Chart.AxisY.Major=10
Chart.AxisY2.Major=10
Chart.AxisX.ClearValueLabel
Dim C1Chart1 As C1Chart.C1Chart = CType(Chart.BaseControl,C1Chart.C1Chart)

For Each c As Col In t.Cols
    If c.Name <> "年" AndAlso c.Caption.Contains("金额") Then
        Series = Chart.SeriesList.Add() \'增加一个图系
        Series.Text = c.Caption \' Name \'设置图系的标题
        series.Length = t.Rows.count
        For i As Integer = 0 To t.Rows.Count - 1 \'指定每个数据点的位置
            Series.X(i) = i \'指定水平坐标
            Series.Y(i) = val(t.Rows(i)(c.name)) \'指定垂直坐标
            Chart.AxisX.SetValueLabel(i, t.Rows(i)("年")) \'指定字符表示
        Next
        series.DataLabelText = "{#YVAL}"

    End If
Next

Chart.SeriesList2.Clear() \'清除图表原来的图系
Chart.ChartType = ChartTypeEnum.XYPlot \'图表2类型该为线形
Dim idx2 As Integer = 0
For Each c As Col In t.Cols
    If c.Name <> "年" AndAlso c.Caption.Contains("数量") Then
        Series = Chart.SeriesList2.Add() \'增加一个图系
        Series.Text = c.Caption \' Name \'设置图系的标题
        series.Length = t.Rows.count
        For i As Integer = 0 To t.Rows.Count - 1 \'指定每个数据点的位置
            Series.X(i) = i \'指定水平坐标
            Series.Y(i) = val(t.Rows(i)(c.name)) \'指定垂直坐标
            Chart.AxisX.SetValueLabel(i, t.Rows(i)("年")) \'指定字符表示
            Dim Label1  = C1Chart1.ChartLabels.LabelsCollection.AddNewLabel()
            With Label1
                .Text = c.Caption & "(" & t.Rows(i)(c.name) & ")"
                .AttachMethod = C1Chart.AttachMethodEnum.DataIndex
                .AttachMethodData.GroupIndex = 1
                .AttachMethodData.SeriesIndex = idx2
                .AttachMethodData.PointIndex = i
                .Compass = 0
                .Offset = 5
                .Visible = True
            End With
           
        Next
        idx2 += 1
    End If
Next

 

Chart.AxisX.AnnoWithLabels = True \'启用字符标示
Chart.VisualEffect = True \'加上这一行,让你的图表更漂亮
Chart.LegendVisible = True \'显示图列
Chart.LegendCompass= CompassEnum.South \'图列显示在南方(底端)


--  作者:地瓜
--  发布时间:2017/6/1 11:29:00
--  
谢谢!
--  作者:地瓜
--  发布时间:2017/6/2 15:19:00
--  
在按年度统计不分项目时,X轴没有显示年份的。谢谢!

图片点击可在新窗口打开查看此主题相关图片如下:无年份显示的.png
图片点击可在新窗口打开查看


--  作者:有点色
--  发布时间:2017/6/2 17:01:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:办公管理云平台.table


--  作者:地瓜
--  发布时间:2017/6/5 11:32:00
--  
谢谢!