4,818
社区成员
发帖
与我相关
我的任务
分享<table align="center" border="0" cellpadding="0" cellspacing="0" class="TablebTitle" width="100%">
<tr>
<td align="center">
<asp:Chart ID="Chart1" runat="server" Width="700px" Height="350px" ImageStorageMode="UseHttpHandler" >
</asp:Chart>
<div id="txt_Message" runat="server" style="vertical-align:middle; text-align:center; font-size:20px;"></div>
</td>
</tr>
</table>
后台代码
private void DrowPlaton(DataTable tbl)
{
txt_Message.InnerHtml = "";
if (tbl.Rows.Count < 1)
{
txt_Message.InnerHtml = "no data !!";
Chart1.Visible = false;
return;
}
string langID = Session["LangID"] == null ? "0" : Session["LangID"].ToString();
Chart1.ChartAreas.Add(new ChartArea("DefectQty"));
Chart1.ChartAreas[0].InnerPlotPosition.Auto = true;
Chart1.Titles.Add("Defect ParetoChart");
Chart1.Titles[0].Font = new Font("宋体", 14, FontStyle.Bold);
Legend legend1 = new Legend("qty");
legend1.Title = "";
legend1.AutoFitMinFontSize = 12;
legend1.Alignment = StringAlignment.Center;
legend1.Docking = Docking.Right;
Legend legend2 = new Legend("bll");
legend2.Title = "";
legend2.AutoFitMinFontSize = 12;
legend2.Alignment = StringAlignment.Center;
legend2.Docking = Docking.Right;
Chart1.Legends.Add(legend1);
Chart1.Legends.Add(legend2);
Chart1.Series.Add(new Series("DefectQty"));
Series ser_qqgzjz = Chart1.Series[0];
ser_qqgzjz.ChartArea = "DefectQty";
if ("0".Equals(langID))
{
ser_qqgzjz.Points.DataBind(tbl.Rows, "rnamb02", "rnamb04", "");
}
else
{
ser_qqgzjz.Points.DataBind(tbl.Rows, "rnamb03", "rnamb04", "");
}
ser_qqgzjz.IsValueShownAsLabel = true;
Chart1.ChartAreas["DefectQty"].AxisX.MinorGrid.LineWidth = 0;
Chart1.ChartAreas["DefectQty"].AxisX.LabelStyle.Angle = -45;
Chart1.ChartAreas["DefectQty"].AxisX.MajorGrid.LineDashStyle = ChartDashStyle.NotSet;
Chart1.ChartAreas["DefectQty"].AxisY.MajorGrid.LineDashStyle = ChartDashStyle.Dash;
TowGrid(Chart1, "DefectQty", "%Efected", tbl);
}
private void TowGrid(Chart chart, string srcSeriesName, string destSeriesName, DataTable tbl)
{
string strChartArea = chart.Series[srcSeriesName].ChartArea;
string langID = Session["LangID"] == null ? "0" : Session["LangID"].ToString();
chart.Series[srcSeriesName].ChartType = SeriesChartType.Column;
//chart.Series[srcSeriesName].Legend = "qty";
chart.Series[srcSeriesName].Color = Color.FromArgb(76, 130, 190);
Series destSeries = new Series(destSeriesName);
chart.Series.Add(destSeries);
destSeries.ChartType = SeriesChartType.Line;
destSeries.Color = Color.FromArgb(160, 187, 92);
destSeries.BorderWidth = 2;
destSeries.ChartArea = chart.Series[srcSeriesName].ChartArea;
destSeries.YAxisType = AxisType.Secondary;
chart.ChartAreas[strChartArea].AxisY2.Maximum = 120;
chart.ChartAreas[strChartArea].AxisY2.Title = "Efected(%)";
chart.ChartAreas[strChartArea].AxisY2.TitleFont = new Font("新宋体", 10);
destSeries.LabelFormat = "P1";
chart.ChartAreas[strChartArea].AxisY2.MajorGrid.LineDashStyle = ChartDashStyle.NotSet;
chart.ChartAreas[strChartArea].AxisX.LabelStyle.IsEndLabelVisible = false;
chart.ChartAreas[strChartArea].AxisX.LabelStyle.Interval = 1;
if ("0".Equals(langID))
{
chart.Series[destSeriesName].Points.DataBind(tbl.Rows, "rnamb02", "efected", "");
}
else
{
chart.Series[destSeriesName].Points.DataBind(tbl.Rows, "rnamb03", "efected", "");
}
chart.Series[destSeriesName].IsValueShownAsLabel = true;
//chart.Series[destSeriesName].Legend = "bll";
chart.Series[destSeriesName].MarkerColor = destSeries.Color = Color.FromArgb(160, 187, 92);
chart.Series[destSeriesName].MarkerBorderColor = Color.MidnightBlue;
chart.Series[destSeriesName].MarkerStyle = MarkerStyle.Triangle;
chart.Series[destSeriesName].MarkerSize = 10;
chart.Series[destSeriesName].LabelFormat = "0.#";
chart.Series[destSeriesName].IsValueShownAsLabel = false;
chart.Series[srcSeriesName].IsValueShownAsLabel = true;
}
