【发布时间】:2016-07-04 10:05:14
【问题描述】:
我正在使用循环根据列名将系列添加到图表中
使用 ds.Tables("MyTable")
Dim i As Integer = 0
For Each column As DataColumn In .Columns
If column.ColumnName Like "S1_*" Then
Chart2.Series.Add(column.ColumnName)
Chart2.Series(column.ColumnName).YValueMembers = column.ColumnName
Chart2.Series(column.ColumnName).ChartType = DataVisualization.Charting.SeriesChartType.Line
Chart2.Series(column.ColumnName).BorderWidth = 3
Chart2.Series(column.ColumnName).XValueMember = .Columns("DateTime").ToString
Chart2.Series(column.ColumnName).IsXValueIndexed = True
End If
Next
手动更改系列名称时一切正常
使用图表2
.Series(0).Name = "Series Name 1"
.Series(1).Name = "Series Name 2"
.Series(2).Name = "Series Name 3"
结束
当我更改系列名称的更改方式时会出现问题。如果我在循环中更改系列名称
对于 i = 0 到 ds.Tables("Qs").Rows.Count - 1
For x = 0 To Chart2.Series.Count - 1
If Chart2.Series(x).Name = ds.Tables("Qs").Rows(x).Item("Q_Name") Then
Chart2.Series(x).Name = ds.Tables("Qs").Rows(x).Item("Q_Text")
End If
Next
下一个
查看图表时出现以下错误
System.Windows.Forms.DataVisualization.dll 中出现“System.ArgumentException”类型的未处理异常
附加信息:如果索引系列未对齐,则无法在同一轴上显示索引系列 (XValueIndexed = true)。在“SeriesCollection”中找不到名为“Series Name 1”的图表元素。
系列名称在循环中正确更新,如果我删除 Chart2.Series(column.ColumnName).IsXValueIndexed = True,我可以看到图表。我能看到的唯一区别是系列名称的更改方式。
感谢所有帮助/cmets
【问题讨论】: