VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 642|回复: 8

mschart数组问题~

[复制链接]

1

主题

4

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
发表于 2020-2-8 09:30:01 | 显示全部楼层 |阅读模式
Dim sql As String, i
        Dim yf(2) As Object, sal(1, 11) As Object, yy(2) As Object
        'With yf
        yf(0) = "Company"
        yf(1) = "实用水量"
        yf(2) = "应缴水量"
        ''End With
        ''sal(0) = yf
        Dim y, s, yj
        For i = 0 To 11
            Conn.Open()
            sql = "SELECT SUM(应缴度数) AS 应缴水量, SUM(实用度数) AS 实用水量, 年份, 月份 FROM 用水量 WHERE (年份 = 2016) AND (月份 = " & i + 1 & ") GROUP BY 年份, 月份"
            Dim sqlcmd As New SqlCommand(sql, Conn)
            Dim rs As SqlDataReader = sqlcmd.ExecuteReader()
            If rs.HasRows = True Then
                rs.Read()

                y = rs("月份")

                s = rs("实用水量")

                yj = rs("应缴水量")
            Else
                y = i + 1
                s = 0
                yj = 0
            End If
            'MsgBox(y & "/" & s & "/" & yj)
            yy(0) = y & "月"
            yy(1) = s
            yy(2) = yj
            Conn.Close()
            sal(0, i) = yy
        Next
        Dim Sales(,) As Object = New Object(,) {{yf}, {sal(0, 11)}}
        '  Dim Sales(,) As Object = New Object(,) _
        '{{"Company", "Company A", "Company B"}, _
        '{"June", 20, 10}, _
        '{"July", 10, 5}, _
        '{"August", 30, 15}, _
        '{"September", 14, 7}}

        chtSales.ChartData = Sales

        'Add a title and legend.
        With Me.chtSales
            .Title.Text = "test"
            .Legend.Location.LocationType = _
               MSChart20Lib.VtChLocationType.VtChLocationTypeBottom
            .Legend.Location.Visible = True
        End With

        'Add titles to the axes.
        With Me.chtSales.Plot
            .Axis(MSChart20Lib.VtChAxisId.VtChAxisIdX).AxisTitle.Text = "Year"
            .Axis(MSChart20Lib.VtChAxisId.VtChAxisIdY).AxisTitle.Text = "Millions of $"
        End With
        Dim r, g, b
        'Set custom colors for the bars.
        With Me.chtSales.Plot
            'Yellow for Company A
            ' -1 selects all the datapoints.
            For i = 1 To 1
                r = CInt(Int((250 * Rnd()) + 0))
                g = CInt(Int((250 * Rnd()) + 0))
                b = CInt(Int((250 * Rnd()) + 0))
                'Console.WriteLine(r & "/" & g & "/" & b)
                .SeriesCollection(i).DataPoints(-1).Brush.FillColor.Set(r, g, b)
                'Purple for Company B
                '.SeriesCollection(2).DataPoints(-1).Brush.FillColor.Set(200, 50, 200)
            Next
        End With



各位大哥大姐~如何让数组可以像下面的一样?我该怎么做?
  Dim Sales(,) As Object = New Object(,) _
        {{"Company", "Company A", "Company B"}, _
        {"June", 20, 10}, _
        {"July", 10, 5}, _
        {"August", 30, 15}, _
        {"September", 14, 7}}

==============================================
这样的读数据库建数组,我是建错了~希望各位大哥大姐帮帮我,我应该怎么做?
Dim sql As String, i
        Dim yf(2) As Object, sal(1, 11) As Object, yy(2) As Object
        'With yf
        yf(0) = "Company"
        yf(1) = "实用水量"
        yf(2) = "应缴水量"
        ''End With
        ''sal(0) = yf
        Dim y, s, yj
        For i = 0 To 11
            Conn.Open()
            sql = "SELECT SUM(应缴度数) AS 应缴水量, SUM(实用度数) AS 实用水量, 年份, 月份 FROM 用水量 WHERE (年份 = 2016) AND (月份 = " & i + 1 & ") GROUP BY 年份, 月份"
            Dim sqlcmd As New SqlCommand(sql, Conn)
            Dim rs As SqlDataReader = sqlcmd.ExecuteReader()
            If rs.HasRows = True Then
                rs.Read()

                y = rs("月份")

                s = rs("实用水量")

                yj = rs("应缴水量")
            Else
                y = i + 1
                s = 0
                yj = 0
            End If
            'MsgBox(y & "/" & s & "/" & yj)
            yy(0) = y & "月"
            yy(1) = s
            yy(2) = yj
            Conn.Close()
            sal(0, i) = yy
        Next
回复

使用道具 举报

1

主题

9

帖子

8.00

积分

新手上路

Rank: 1

积分
8.00
发表于 2020-3-30 18:45:01 | 显示全部楼层
LZ你是如何使用MSChart控件的,我正在为这事而着急呢,不知道怎么用它进行编程,能否把你的代码发给我看看,谢谢了。
回复

使用道具 举报

1

主题

9

帖子

8.00

积分

新手上路

Rank: 1

积分
8.00
发表于 2020-3-30 19:45:01 | 显示全部楼层
你用的是Microsoft Office Chart 11.0吗?
回复

使用道具 举报

1

主题

4

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
 楼主| 发表于 2020-3-31 11:00:02 | 显示全部楼层
我也不会呀~我也在这干急呢,我就只用上面的那一点代码,还是从MSDE里COPY出来的~
不是Microsoft Office Chart 11.0
是Microsoft chart contorl
回复

使用道具 举报

1

主题

9

帖子

8.00

积分

新手上路

Rank: 1

积分
8.00
发表于 2020-4-1 11:15:02 | 显示全部楼层
你有哪个控件吗?发一个给我,我们共同研究一下
回复

使用道具 举报

1

主题

4

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
 楼主| 发表于 2020-4-1 21:30:02 | 显示全部楼层
...... vs.net里自带的呀~
你点工具箱然后再点添加移除项,里面你可以找到Microsoft chart control这个控件~然后确定,他就会在工具箱里显示了
回复

使用道具 举报

1

主题

9

帖子

8.00

积分

新手上路

Rank: 1

积分
8.00
发表于 2020-4-3 23:30:01 | 显示全部楼层
我晕了,原来是Microsoft chart control6.0,我选了Microsoft Office Chart 11.0,我还以为Microsoft Office Chart 11.0就是MSChart呢,搞了好长时间,难怪总是出错呢.总算明白了
回复

使用道具 举报

1

主题

9

帖子

8.00

积分

新手上路

Rank: 1

积分
8.00
发表于 2020-4-4 03:00:02 | 显示全部楼层
其实用Microsoft Office Chart 11.0更好做,但我就是不知道如何对它编程
OWC11也可以
回复

使用道具 举报

1

主题

4

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
 楼主| 发表于 2020-4-8 19:15:01 | 显示全部楼层
呵~我也不会
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表