0

我有一个功能齐全的动态图表控件(只是普通的 ASP.net 图表)它工作得很好,但我在尝试向图例添加复选框时遇到了问题。我正在尝试将它们添加到系列名称旁边,以便用户可以隐藏或查看相应的系列数据。该图表绘制了大约 42 名员工的数据。所以能够选择和隐藏数据是非常重要的。我已经研究了几天了,我找到了第 3 方图表工具的示例,但我需要在 MSVS 2010 标准图表工具中执行此操作。

这就是我创建图表的方式。

 for (int emp = 1; emp < empRowList.Length; emp++)
        {
            chartB.Series.Add(empRowList[emp]);
            chartB.Series[empRowList[emp]].ChartType = SeriesChartType.Point;
            chartB.Series[empRowList[emp]].MarkerSize = 10;
            chartB.Series[empRowList[emp]].MarkerStyle = MarkerStyle.Star4;            

            for (int month = 1; month < 12; month++)
            {
                    chartB.Series[empRowList[emp]].Points.AddXY(mfi.GetMonthName(month), employeeStats[month, emp]);
                    chartB.Series[empRowList[emp]].Points[chartB.Series[empRowList[emp]].Points.Count - 1].ToolTip = empRowList[emp] + " - " + employeeStats[month, emp];                   
            }
        }

这是我格式化图表的方式

 chartB.DataSource = t.Tables["info"];
 chartB.DataBind();
 chartB.Legends.Add(new Legend("Legend"));
 chartB.Legends["Legend"].Alignment = StringAlignment.Center;
 chartB.Legends["Legend"].Docking = Docking.Top;

我浏览了这篇文章,认为可以对其进行扩充以提供帮助,但是由于他的系列不是动态添加的,因此我不确定这是否是正确的追求方向。

ASP .net 4 Chart Control Legend 格式根本不显示

我也研究过使用自定义图例,但读到它们没有链接到数据,所以我认为这也可能是错误的方向。

如果有人可以提供帮助,我将不胜感激,直到我弄清楚这一点。

提前致谢

4

2 回答 2

1

当我想做类似的事情时,这方面的一些代码会很棒。

然而,我确实在 msdn 上找到了一个帖子,指出自定义图例是不可能的。

http://msdn.microsoft.com/en-us/library/bb677428(v=sql.100).aspx

于 2012-07-26T18:57:05.330 回答
0

我能够使用上面链接中的代码找到类似于我想要的解决方案,但永远无法让图例正常工作,所以我放弃了这个想法,只是在我的图表下方动态创建了一个隐藏/显示的复选框库系列。只需要创建一个类并处理点击事件与图形的重绘并不太难。

于 2012-05-23T13:36:10.537 回答