我试图遍历我的datatable列sdescr,并使用列中的文本作为我的x轴的标签,但是它不起作用,我得到了这个错误
类型为“
( of String)”的System.Collections.Generic.List值不能转换为“一维字符串数组”。
For i As Integer = 0 To myCurve1.Points.Count - 1
Dim pt As PointPair = myCurve1.Points(i)
' Create a text label from the Y data value
Dim text As New TextObj(pt.Y.ToString("f0"), pt.X, pt.Y + 0.1, CoordType.AxisXYScale, AlignH.Left, AlignV.Center)
text.ZOrder = ZOrder.A_InFront
text.FontSpec.Angle = 90
myPane.GraphObjList.Add(text)
Dim labels As New List(Of String)
For Each row As DataRow In tablegraph.Rows
labels = row.Item("SDESCR")
Next row
myPane.XAxis.Scale.TextLabels = labels
myPane.XAxis.Type = AxisType.Text
Next发布于 2011-02-23 22:07:50
您需要删除代码,以便将创建点的For Next循环中的标签提取出来。
这意味着
Dim labels As New List(Of String)
For Each row As DataRow In tablegraph.Rows
labels = row.Item("SDESCR")
Next row
myPane.XAxis.Scale.TextLabels = labels
myPane.XAxis.Type = AxisType.Text现在,在循环绘图点之外,您需要通过您的DataTable
请看看你所犯的错误..。字符串列表不能转换为字符串数组。那些东西不是等价物。
一种选择是这样做(在绘制点的循环之后)。
Dim labels(tablegraph.Rows.Count - 1) as String
For i As Integer = 0 To tablegraph.Rows.Count - 1
labels(i) = tablegraph.Row(i).Item("SDESCR")
Next
myPane.XAxis.Scale.TextLabels = labels
myPane.XAxis.Type = AxisType.Text我在这台电脑上没有Zed,所以我没有在Visual中检查过,但是这应该给你一个很好的方向。
https://stackoverflow.com/questions/5097531
复制相似问题