首页 > 解决方案 > 将数据表列分配给图表列颜色

问题描述

我正在使用ASP.NET图表来显示SQL存储过程的结果,并且我正在使用最后一个存储的 proc 列作为 colorID 来显示我希望图表中的每一列是哪种颜色。存储过程有 6 列和 6 行,如下所示(我使用了下面的示例编号)。colorID 范围是 0,1,2。

问题是图表列颜色不会动态更改为存储过程中记录显示的内容。下面的代码只是获取最后一个记录ColorID号并将其用于每个条形颜色。

我在网上搜索了很多例子,但没有运气,这是我的第一篇文章,所以请原谅任何上传错误。对此的任何帮助将不胜感激。谢谢。

col1 | col2 | col3 | col4 | col5 | ColorID
-----+------+------+------+------+--------
     |      |      |      |      |    0
     |      |      |      |      |    1
     |      |      |      |      |    2
     |      |      |      |      |    0
     |      |      |      |      |    0
     |      |      |      |      |    0

这是下面的代码:

For Each dataRow As DataRow In ds.Rows
    For Each dataColumn As DataColumn In ds.Columns
        For Each pt As Web.UI.DataVisualization.Charting.DataPoint In Chart1.Series("Series1").Points
            If (dataRow("ColorID").ToString() = "0") Then
                pt.Color = Drawing.ColorTranslator.FromHtml("#ff4000")
            ElseIf (dataRow("ColorID").ToString() = "1") Then
                pt.Color = Drawing.ColorTranslator.FromHtml("#e6e600")
            ElseIf (dataRow("ColorID").ToString() = "2") Then
                pt.Color = Drawing.ColorTranslator.FromHtml("#009933")
            End If
        Next
    Next
Next

标签: sqlasp.netstored-procedureschartsdatatable

解决方案


我能够使用下面显示的不同方法来解决这个问题。

            Dim array As String()
            Dim labelsList As List(Of String) = New List(Of String)
            For Each row As DataRow In ds.Rows
                labelsList.Add(row.Item("ColorID"))
            Next

            aar = labelsList.ToArray()

            '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
            If aar(0) = "0" Then
                Chart1.Series(0).Points(0).Color = Drawing.Color.Red
            ElseIf aar(0) = "1" Then
                Chart1.Series(0).Points(0).Color = Drawing.Color.Yellow
            ElseIf aar(0) = "2" Then
                Chart1.Series(0).Points(0).Color = Drawing.Color.Green
            End If

推荐阅读