捷思图X轴标签
问题描述:
我通过我的数据表列sdescr试图循环并使用在列,我的x轴的标签文本,但它不是工作我收到此错误捷思图X轴标签
价值键入 'System.Collections.Generic.List(的 字符串)'不能转换为 '1维数组的字符串'。
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
答
你需要删除代码来获取标签出你对于下一循环,是创建点。
这意味着这
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 Studio中选中此,但这应该会给你一个非常体面的方向。