我有一个功能完备的动态图表控件(只是常规的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
我也研究过使用自定义图例,但是读到它们没有链接到数据,所以我认为这也可能是错误的方向。
如果有人能提供帮助,我将非常感激,我有点站稳脚跟,直到我能解决这个问题。
提前致谢
答案 0 :(得分:1)
关于这方面的一些代码会非常精彩,因为我正在寻找类似的东西。
但我确实在msdn上发了一篇文章,指出自定义图例是不可能的。
http://msdn.microsoft.com/en-us/library/bb677428(v=sql.100).aspx
答案 1 :(得分:0)
我能够使用上面链接中的代码找到类似于我想要的解决方案,但却无法让传奇工作正常,所以我废弃了这个想法,只是在我的图表下面动态创建了一个复选框库隐藏/显示系列。仅仅需要创建一个类并处理点击事件与重绘图表相比太难了。