2011-11-29 68 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