2011-11-29 67 views
1

我有一个Microsoft图表控件(名称空间System.Web.UI.DataVisualization.Charting)中的Donut类型的图表。我可以同时在MSChart的饼图标签上显示标签和值

我绑定到图表系列的数据类型为Dictionary<string, int>,其中标签是字典的关键字,值为Value属性。我希望饼图上的标签看起来像这样:Some label (4),其中“某些标签”是词典中条目的关键字,而4是值。

我试过IsValueShownAsLabelLabelFormat的各种组合,但这并没有帮助,因为它只显示了值。

我想出了下面的代码,它做了我想要的,但坦率地说,最后三行(设置标签)吓倒了我!

Dictionary<string, int> myDictionary = GetMyDataForTheChart(); 
var mySeries = Chart1.Series.Add("MySeries"); 
mySeries.Points.DataBind(myDictionary, "Key", "Value", null); 
int i = 0; 
foreach (var p in mySeries.Points) 
    p.Label = myDictionary.ElementAt(i++).Key + " (" + p.YValues[0].ToString("0") + ")"; 

有没有更好的方法?

+0

>>有没有更好的方式扩展?我对此表示怀疑。 –

+2

您是否尝试将标签设置为'#VALX#VALY',我认为这应该可以做到这一点 – V4Vendetta

+0

@ V4Vendetta非常感谢!完美!请将其作为答案发布,以便我可以将其标记为正确。 –

回答

5

显示x和y的值可以设置Label=#VALX #VALY取决于值的数量约束,你也可以选择像#VALY1#VALY2