将值绑定到ASP.NET Chart控件

时间:2011-08-22 13:12:20

标签: asp.net data-binding charts arraylist enumeration

我正在尝试将一些值绑定到ASP.NET Chart控件。到目前为止,这是我的代码:

Dim xValues As String() = {"Option1", "Option2", "Option3", "Option4"}    
chartControl.Series(0).Points.DataBindXY(xValues, valuesAl)

valuesAlArrayList。将值添加到ArrayList的代码如下:

Dim cmd As New SqlCommand("StoredProcedure", Conn)
cmd.CommandType = CommandType.StoredProcedure

Dim valuesAl As New ArrayList

Dim r As SqlDataReader = cmd.ExecuteReader
While r.Read()
    valuesAl.Add(r("Value"))
End While
r.Close()

但是,我收到以下错误:Enumeration already finished

我是否正确地将数据库中的值绑定到Chart控件,如果是这样,为什么我会收到此错误消息?

非常感谢您的帮助!

2 个答案:

答案 0 :(得分:3)

您需要确保valuesA1 ArrayList的最终值与xValues数组中的值相同。在内部,它循环遍历两个集合,期望它们具有相同的数字,并且您收到错误,因为valuesA1 ArrayList中的成员较少。

答案 1 :(得分:2)

假设您的列表值计数相同,并且您希望每个列表的相同索引值的坐标,您可以使用series.Points.AddXY(),例如;

foreach(int i=0 ; i<valuesAl.Count; i++)
{
    series.Points.AddXY(xValue[i],valuesAl[i];
}