如何将代码中创建的图表放入aspx页面

时间:2016-11-20 12:41:08

标签: c# asp.net charts webforms

我创建了一个图表并在mvc中使用它。它的工作原理我只需要在视图中调用动作,但现在我试图将它放在一个aspx页面中并在按钮点击时创建。请帮忙。 P.s我刚刚开始学习c#和aspx。 Tqvm in advanced。

self.myVariable2 = "19"
console.log(detectWhatIsNew()) // Array { "0": "myVariable2" }

在我的aspx设计页面中

public void graphClck(object sender, EventArgs e)
    {
        CodeDB2 DB = new CodeDB2();
        DB.Open();
        DataTable data = DB.GetTable("SELECT * FROM tblproduct");
        DB.Close();
        //Chart c = new Chart(width: 800, height: 200);

        Chart c = new Chart(width: 800, height: 200)
            .AddTitle("PRODUCT")
            .AddSeries(
            chartType: "column",
            name: "Products",
            xValue: data.AsDataView(), xField: "product_name",
            yValues: data.AsDataView(), yFields: "quantity")
            .AddSeries(
            name: "Price",
            yValues: data.AsDataView(), yFields: "price")
            .AddLegend("PRODUCT PRICE AND QUANTITY")
            .Write("png");
}

2 个答案:

答案 0 :(得分:0)

如果你的"图表"是控制,只是使用方法 myChart.DrawToBitmap(); 并将此位图设置为客户端视图,就像位图

一样

答案 1 :(得分:0)

您需要设置图表控件的属性,而不是动态构建图表。

因此,您将使用Chart1.AddTitle(" Title Here")代替.AddTitle

您将对其他属性采用相同的方法。

样品 这是我过去如何使用它的样本

 List<DAL.QuoteChartData> QuoteChartData = DAL.GetQuotesChart(SessionStore.Current.UserID, StartDate, EndDate);

        if (QuoteChartData.Count > 0)
        {
            //Populate Summary Chart
            chrtQuoteSummary.Legends.Add("Legend1");
            chrtQuoteSummary.Legends["Legend1"].Docking = System.Web.UI.DataVisualization.Charting.Docking.Bottom;

            chrtQuoteSummary.Series["Quotes"].IsValueShownAsLabel = true;
            chrtQuoteSummary.Series["Quotes"].Legend = "Legend1";
            chrtQuoteSummary.Series["Quotes"].ChartType = System.Web.UI.DataVisualization.Charting.SeriesChartType.Doughnut;

            QuoteChartData.ForEach(delegate (DAL.QuoteChartData R)
            {
                chrtQuoteSummary.Series["Quotes"].Points.Add(new System.Web.UI.DataVisualization.Charting.DataPoint() { AxisLabel = R.QuoteStatus, YValues = new double[] { double.Parse(R.Tot.ToString()) } });
                chrtQuoteSummary.Series["Quotes"].Points[chrtQuoteSummary.Series["Quotes"].Points.Count - 1].Color = Global.StatusColours[R.QuoteStatusID.ToString()];
            });
        }
        else
        {
            lblQuotesMsg.Text = "No quote data found for the current month.";
        }