c# - 来自 DataSet 的多个系列

标签 c# .net mschart

enter image description here我有一个相对简单的问题,我想在一个包含 2 个表的数据集中的图表中显示 2 个简单的线系列。

现在我只是创建了第二个具有相同 ValueMembers 的系列,但它们显示在彼此之上。 DataSet 已正确填充不同的值。

      dataAdapter.Fill(dataSetChart);
      chartKunden.Series.Add("Kunden");
      chartKunden.Series.Add("Table1");
      chartKunden.Series["Kunden"].ChartType = SeriesChartType.Line;
      chartKunden.Series["Table1"].ChartType = SeriesChartType.Column;
      chartKunden.Series["Table1"].XValueMember = "Woche";  
      chartKunden.Series["Table1"].YValueMembers = "Stunden";     
      chartKunden.Series["Kunden"].XValueMember = "Woche";  
      chartKunden.Series["Kunden"].YValueMembers = "Stunden";
      chartKunden.DataSource = dataSetChart;

我基本上只想知道如何将它们分开,以便第二个系列从数据集的第二个表中获取数据。

更新的数据绑定(bind):

chartKunden.Series["Table2"].Points.DataBind(dataSetChart.Tables[1].Rows, "Woche", "Stunden", "");

chartKunden.Series["Table1"].Points.DataBind(dataSetChart.Tables[0].Rows, "Woche", "Stunden", "");

最佳答案

many ways 可以做数据绑定(bind)。

您可以将每个系列绑定(bind)到一个单独的数据源,例如:

s1.XValueMember = "col11";
s1.YValueMembers = "col12";
s2.XValueMember = "col21";
s2.YValueMembers = "col22";

s1.Points.DataBind(t1.Rows, "col11", "col12", "");
s2.Points.DataBind(t2.Rows, "col21", "col22", "");

假设有两个数据表 t1t2,列为 "col11""col12"“col21”“col22”

注意空字符串作为最后一个参数。在这里可以添加一个以逗号分隔的自定义属性列表以添加到绑定(bind)中。示例:

s1.Points.DataBind(t1.Rows, "col11", "col12", "Tooltip=colcom1");

有关限制的讨论,请参阅 here!

另请注意,此绑定(bind)重载需要在同一数据源中查找 x 值和 y 值。查看上面的绑定(bind)概述以获得更灵活的方法!!

将 x 和 y 值绑定(bind)到不同来源的简单示例可以写成:

s2.Points.DataBindXY(t2.Rows, "col21", t1.Rows, "col12");

请注意,现在我们无法设置扩展属性!

关于c# - 来自 DataSet 的多个系列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58081252/

相关文章:

c# - SOA - 测试算法 10^62 键

c# - 获取网络带宽信息

c# - Thread、Task 和 async/await 关键字之间的区别

c# - 用于 MS 图表控件的鼠标滚轮滚动事件

c# - 多个图表上的相同网格设置

c# - 将日期时间转换为日期字段以传递到 Google BigQuery

c# - 面向 future 的 .NET 版本检测

c# - 如何检查数组中对元素的数量?

c# - 是否有任何用于扭曲/扭曲图像的 .NET 工具?

.net - 将一个 ChartArea 的 x 轴与另一个 ChartArea 的 y 轴对齐?