我正在尝试将一些值绑定到ASP.NET Chart控件。到目前为止,这是我的代码:
Dim xValues As String() = {"Option1", "Option2", "Option3", "Option4"}
chartControl.Series(0).Points.DataBindXY(xValues, valuesAl)
valuesAl
是ArrayList
。将值添加到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控件,如果是这样,为什么我会收到此错误消息?
非常感谢您的帮助!
答案 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];
}