使用LINQ to SQL将ASP.NET图表控件与多个系列进行数据绑定

时间:2011-04-27 15:34:25

标签: asp.net linq-to-sql data-binding .net-4.0 mschart

我正在尝试使用ASP.NET 4中的MS Chart Control生成图表。这是一个标准的柱形图,我通过数据绑定调用存储过程的LINQ结果集来填充它。

该图显示了一段时间内的通话次数。它设置了一个详细说明时间跨度/日期范围的XAxis,以及YAxis详细说明呼叫总数。

如果结果集只返回一个电话号码的数据,那么一切都很好。但是,有时我想在同一个结果集中返回多个电话号码,并在图表上使用多个系列显示数据,因此列彼此相邻以便进行比较。

我知道,对于每个电话号码,我需要有一个单独的系列,如果我手动填充数据,或者手动创建多个系列作为概念验证,我知道它有效。但我无法自动将电话号码分成单个系列。

我正在寻找的是一个属性,用于指定结果集中的列以对系列进行分组,但我似乎无法找到它(可能因为它不存在?)。

数据如下所示:

row_date        call_total    ext_no
----------      ----------    ------
2011-01-01      18            1000
2011-02-01      9             1000
2011-03-01      28            1000
2011-01-01      49            1001
2011-02-01      34            1001
2011-03-01      29            1001

任何帮助?

1 个答案:

答案 0 :(得分:3)

绝对典型。一旦你承认并发布问题,它就会跳到你面前。

答案很简单。而不是使用

数据绑定我的LINQ结果集
Chart.DataSource = <LINQ QUERY>
Chart.DataBind()

您需要使用

Chart.DataBindCrossTable(<LINQ QUERY>,<COL TO GROUP>,<X COL>,<Y COL>)

我(终于)在这篇文章中发现了这个:

Data Binding Microsoft Chart Control