2017-09-13 5 views
0

これはデータベースからデータを取得し、表形式で表示するためのコードです。これは問題なく動作していますが、グラフ/棒グラフにもこの値が表示されます。私はこれをする方法を知らない。助けてください。クエリを使用してASP.NETでハイチャートを作成するにはどうすればよいですか?

query = "select a,b from abc";    
SqlCommand cmd = new SqlCommand(query, conn); 
DataTable dt = new DataTable(); 
dt.Load(cmd.ExecuteReader()); 
GridDanish.DataSource = dt; 
GridDanish.DataBind(); 

答えて

1

私は名前空間にSystem.Windows.Forms.DataVisualization.Chartingを使用しています。私のチャートを作成し、それを.jpgなどで保存します。

chart

希望、これは、あなたが探して何を:

public static class ChartService 
      { 
       public static async Task CreateChart(Dictionary<DateTime, int> model) 
       { 
        DataSet dataSet = new DataSet(); 
        DataTable dt = new DataTable(); 
        dt.Columns.Add("Name", typeof(string)); 
        dt.Columns.Add("Counter", typeof(int)); 

        CultureInfo deDe = new CultureInfo("de-De"); 

        foreach (var item in model) 
        {    
         DataRow r = dt.NewRow(); 
         r[0] = item.Key.ToString("MMMM yyyy", deDe); 
         r[1] = item.Value; 
         dt.Rows.Add(r); 
        } 
        dataSet.Tables.Add(dt); 

        //prepare chart control... 
        Chart chart = new Chart(); 
        chart.DataSource = dataSet.Tables[0]; 
        chart.Width = 780; 
        chart.Height = 250;    
        //create serie... 
        Series serie1 = new Series(); 
        serie1.Name = "Serie1"; 
        serie1.Color = Color.FromArgb(255, 127, 102); 
        serie1.BorderColor = Color.FromArgb(255, 127, 102); 
        serie1.ChartType = SeriesChartType.Line; 
        serie1.BorderDashStyle = ChartDashStyle.Solid; 
        serie1.BorderWidth = 3; 
        serie1.ShadowColor = Color.FromArgb(255, 127, 102); 
        serie1.ShadowOffset = 0;    
        //serie1.IsValueShownAsLabel = true; 
        serie1.XValueMember = "Name"; 
        serie1.YValueMembers = "Counter"; 
        serie1.Font = new Font("Tahoma", 8.0f); 
        serie1.BackSecondaryColor = Color.FromArgb(255, 127, 102); 
        serie1.LabelForeColor = Color.FromArgb(81, 80, 84); 
        chart.Series.Add(serie1); 
        //create chartareas... 
        ChartArea ca = new ChartArea(); 
        ca.Name = "ChartArea1"; 
        ca.BackColor = Color.White; 
        ca.BorderWidth = 1; 
        ca.BorderColor = Color.FromArgb(200, 200, 200);   
        ca.BorderDashStyle = ChartDashStyle.Solid;   
        ca.AxisX = new Axis(); 
        ca.AxisY = new Axis(); 
        ca.AxisX.LineColor = Color.FromArgb(171, 171, 171); 
        ca.AxisX.MajorGrid.LineWidth = 0; 
        ca.AxisY.LineColor = Color.FromArgb(171, 171, 171); 
        ca.AxisY.MajorGrid.LineColor = Color.FromArgb(171, 171, 171); 
        ca.AxisY.LabelStyle.ForeColor = Color.FromArgb(82, 82, 82); 
        ca.AxisX.LabelStyle.ForeColor = Color.FromArgb(82, 82, 82); 
        chart.ChartAreas.Add(ca); 
        //databind... 
        chart.DataBind(); 
        //save result... 
        chart.SaveImage("example\\temp\\img\\chart.jpg", ChartImageFormat.Jpeg); 
       } 
      } 

出力はこのようなものである:ここで私はそれを使用する方法を私のコード例です。喜び

関連する問題