ASP:CHART图例复选框系列控件

时间:2012-05-21 16:37:38

标签: c# mschart

我有一个功能完备的动态图表控件(只是常规的ASP.net图表)它工作得很好,但我遇到了一个问题,试图在图例中添加复选框。我正在尝试将它们添加到系列名称旁边,以便用户可以隐藏或查看相应的系列数据。该图表正在绘制大约42名员工的数据。因此能够选择和隐藏数据非常重要。我已经研究了几天了,我已经找到了第三方图表工具的例子,但我需要在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 formatting is not displaying at all

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

如果有人能提供帮助,我将非常感激,我有点站稳脚跟,直到我能解决这个问题。

提前致谢

2 个答案:

答案 0 :(得分:1)

关于这方面的一些代码会非常精彩,因为我正在寻找类似的东西。

但我确实在msdn上发了一篇文章,指出自定义图例是不可能的。

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

答案 1 :(得分:0)

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