try
{
#region Step1. 設定 Chart Title
Title ChartTitle = new Title();
System.Drawing.Font font = new System.Drawing.Font("標楷體", 20);
ChartTitle.Font = font;
ChartTitle.ForeColor = System.Drawing.ColorTranslator.FromHtml("#6B8E23");
ChartTitle.Text = "Sample圖表";
//新增至Chart Control
Chart1.Titles.Add(ChartTitle);
#endregion
#region Step2. 產生工作區塊(Area1)
ChartArea cArea1 = new ChartArea("Area1");
cArea1.Area3DStyle.Enable3D = true;
Series series1 = new Series("");
series1.ChartArea = "Area1";
series1.ChartType = SeriesChartType.Pie;
series1.IsValueShownAsLabel = true;
#region 填入資料
using (DBObj oDB = new DBObj())
{
var DBData = from o in oDB.Product
join p in
(
from p1 in oDB.SaleDetail
where p1.Year == "2008"
select p1
) on o.No equals p.ProductNo into C
select new
{
o.No,
o.Product1,
T = C.Count(),
T1 = ((float?)C.Count() / (float?)oDB.SaleDetail.Count(pp => pp.Year == "2008")) * 100
};
foreach (var tmp in DBData)
{
series1.Points.AddXY(tmp.Product1, String.Format("{0:F2}", tmp.T1));
}
}
#endregion
series1.PostBackValue = "#AXISLABEL";
series1.ToolTip = "產品 : #AXISLABEL";
#endregion
Legend leg = new Legend("分類");
leg.Docking = Docking.Right;
Chart1.Legends.Add(leg);
Chart1.ChartAreas.Add(cArea1);
Chart1.Series.Add(series1);
}
catch (Exception ex)
{
System.Web.UI.ScriptManager.RegisterStartupScript(Page, Page.GetType(), "Exception", " var s= alert('" + ex.Message.ToString().Replace("'", "").Replace("\"", "") + "')", true);
}