【问题标题】:VB.net Chart Series Names - Error When Using LoopVB.net 图表系列名称 - 使用循环时出错
【发布时间】: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

【问题讨论】:

    标签: charts series


    【解决方案1】:

    Visual Basic 从 1 开始索引。尝试替换 .Series(0).Name = "Series Name 1".Series(1).Name = "Series Name 1" 其他系列也是如此。

    【讨论】:

      猜你喜欢
      • 2020-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-24
      • 2017-05-13
      • 2017-02-25
      • 1970-01-01
      • 2014-01-11
      相关资源
      最近更新 更多