• ASP.NET中的MSChart 控件使用 (示例)


      最近公司要求做一个报表. 显示全年销售评估图表. 这一下子让我联想到了微软的MSChart控件,因为之前有过这方面的研究.所以做起来不是很费力. 准确的说是,没做一次 都有一次不同的启发,不同的感想吧 。也希望这次自己琢磨出来的东西,能对大家有好处!

         好了,一向不喜欢说废话的我,突然说了这么多.... 直接从项目里面粘贴源码吧!(偷懒)希望大家多多指教..谢谢!

        ASP.NET前台:

    1 <div class="myChartCss">
    2 <asp:Chart ID="Chart1" runat="server" Width="1024px">
    3 <Series>
    4 <asp:Series Name="销量">
    5 </asp:Series>
    6 </Series>
    7 <ChartAreas>
    8 <asp:ChartArea Name="ChartArea1">
    9 </asp:ChartArea>
    10 </ChartAreas>
    11 <Legends>
    12 <asp:Legend Alignment="Center" Docking="Bottom" Name="Legend1" Title="销量分析">
    13 </asp:Legend>
    14 </Legends>
    15 <Titles>
    16 <asp:Title Font="微软雅黑, 16pt" Name="Title1" Text="法国皇家龙船总体销售评估表">
    17 </asp:Title>
    18 </Titles>
    19 </asp:Chart>
    20 </div>

    后台 主要 源码:

    1 /// <summary>
    2 /// 绑定报表控件数据源
    3 /// </summary>
    4   public void BindData()
    5 {
    6 IList<Nop_Product> data = BindChartProduct();
    7 #region 尚未用到
    8 //ChartArea chartArea = SetChartAreaStyle("Chart1", true);
    9 //List<int> data = Models.StaticModel.createStaticData();
    10 //System.Web.UI.DataVisualization.Charting.Chart Chart2 = new System.Web.UI.DataVisualization.Charting.Chart();
    11 //Chart2.Width = 412;
    12 //Chart2.Height = 296;
    13 //Chart2.RenderType = System.Web.UI.DataVisualization.Charting.RenderType.ImageTag;
    14 //Chart2.Palette = ChartColorPalette.BrightPastel;
    15 //Title t = new Title("IMG source streamed from Controller", Docking.Top, new System.Drawing.Font("Trebuchet MS", 14, System.Drawing.FontStyle.Bold), System.Drawing.Color.FromArgb(26, 59, 105));
    16 //Chart2.Titles.Add(t);
    17 //Chart2.ChartAreas.Add("Series 1");
    18 // //Populate series with random data
    19 //Random random = new Random();
    20 //for (int pointIndex = 0; pointIndex < 10; pointIndex++)
    21 //{
    22 // Chart1.Series[0].Points.AddY(random.Next(45, 95));
    23 // //Chart1.Series["Series2"].Points.AddY(random.Next(5, 75));
    24 //}
    25   #endregion
    26 for (int i = 0; i < data.Count; i++)
    27 {
    28 Chart1.Series[0].Points.AddY(data[i].Quantity);
    29 }
    30 Chart1.BorderSkin.SkinStyle = BorderSkinStyle.Emboss;
    31 Chart1.BorderlineWidth = 2;
    32 Chart1.BorderColor = System.Drawing.Color.Black;
    33 Chart1.BorderlineDashStyle = ChartDashStyle.Solid;
    34 Chart1.BorderWidth = 2;
    35 Chart1.ChartAreas["ChartArea1"].AxisX.MajorGrid.Enabled = false;//不显示竖着的分割线
    36   Chart1.ChartAreas["ChartArea1"].AxisY.Title = "销售数量(瓶)";
    37 Chart1.ChartAreas["ChartArea1"].AxisX.Title = "时间(yyyy-MM)";
    38 #region 尚未用到
    39 //Chart1.Legends.Add("酒种类");
    40 //Legend legend = new Legend(ddrTypeName.SelectedValue);
    41 //26, 59, 105
    42 //legend.BackColor = Color.Transparent;//Color.FromArgb(26, 59, 105, 0);
    43 //legend.BorderColor = Color.Gray;
    44 //legend.Font = new System.Drawing.Font("Trebuchet MS", float.Parse("8.25"), FontStyle.Bold, GraphicsUnit.World);
    45 //legend.IsDockedInsideChartArea = true;
    46 //legend.DockedToChartArea = ddrTypeName.SelectedValue;
    47 //Chart1.ChartAreas["ChartArea1"].AxisX.Interval = 1; //X轴数据显示间隔
    48 //Chart1.ChartAreas["ChartArea1"].AxisX.IntervalType = DateTimeIntervalType.Days;
    49 //Chart1.ChartAreas["ChartArea1"].AxisX.IntervalOffset = 0.0;
    50 //Chart1.ChartAreas["ChartArea1"].AxisX.IntervalOffsetType = DateTimeIntervalType.Days;
    51 #endregion
    52 Chart1.ChartAreas["ChartArea1"].AxisX.LabelStyle.Format = "yyyy年MM月";
    53 Chart1.ChartAreas["ChartArea1"].AxisY.Interval = 20;//y轴数据显示间隔
    54 Chart1.DataSource = data;
    55 Chart1.Series[0].YValueMembers = "Quantity";
    56 Chart1.Series[0].XValueMember = "CreatedOn";
    57 Chart1.DataBind();
    58 // Set series chart type
    59 Chart1.Series[0].ChartType = SeriesChartType.Line;
    60 //Chart1.Series["Series2"].ChartType = SeriesChartType.Spline;
    61 // Set point labels
    62 Chart1.Series[0].IsValueShownAsLabel = true;
    63 //Chart1.Series["Series2"].IsValueShownAsLabel = true;
    64 // Enable X axis margin
    65 Chart1.ChartAreas["ChartArea1"].AxisX.IsMarginVisible = true;
    66 // Enable 3D, and show data point marker lines
    67 Chart1.ChartAreas["ChartArea1"].Area3DStyle.Enable3D = false;
    68 Chart1.Series[0]["ShowMarkerLines"] = "True";
    69 //Chart1.Series["Series2"]["ShowMarkerLines"] = "True";

    效果图如下:

    在此,只写出自己研究所得. 如有不当之处,希望大家多多指教,共同进步.  谢谢


    作者:Stephen-kzx
    出处:http://www.cnblogs.com/axing/
    公众号:会定时分享写工作中或者生活中遇到的小游戏和小工具源码。有兴趣的帮忙点下关注!感恩!
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    一个程序员的职业规划
    基于Andoird 4.2.2的Account Manager源代码分析学习:创建选定类型的系统帐号
    [置顶] C++学习书单
    js快速分享代码
    The declared package does not match the expected package
    IBM Rational Appscan Part 1
    IBM Rational Appscan: Part 2 ---reference
    阅读redis源代码的一些体会
    18 Command Line Tools to Monitor Linux Performance
    代码规范
  • 原文地址:https://www.cnblogs.com/axing/p/MSChart.html
Copyright © 2020-2023  润新知