zoukankan      html  css  js  c++  java
  • ASP.NET mschart使用小结

    使用部分:

     <div>
            <asp:Chart ID="Chart1" runat="server">
               <Legends>
                    <asp:Legend Name="Legend1" >
                    </asp:Legend>
                </Legends>
                <Series>
                    <asp:Series Name="Series1">
                    </asp:Series>
                    <asp:Series Name="Series2" >
                    </asp:Series>
                </Series>
                <ChartAreas>
                    <asp:ChartArea Name="ChartArea1">
                    </asp:ChartArea>
                </ChartAreas>
                <Titles>
                    <asp:Title Name="Title1">
                    </asp:Title>
                </Titles>
            </asp:Chart>
        </div>

    后台cs:

      //设置图片高度,宽度
                Chart1.Height = 500;
                Chart1.Width = 1200;

                //title属性说明
                Chart1.Titles.Add("拱墅公安局各部门破案量");

                //边框样式设置
                Chart1.ChartAreas["ChartArea1"].BorderColor = Color.Black;
                Chart1.ChartAreas["ChartArea1"].BorderDashStyle = ChartDashStyle.Solid;
                Chart1.ChartAreas["ChartArea1"].BorderWidth = 2;


                //X轴数据
                ArrayList XTitle = new ArrayList();
                XTitle.Add("康桥");
                XTitle.Add("半山");
                XTitle.Add("祥符");
                XTitle.Add("上塘");
                XTitle.Add("米市巷");
                XTitle.Add("湖墅");
                XTitle.Add("小河");
                XTitle.Add("拱宸桥");
                XTitle.Add("和睦");
                XTitle.Add("大关");

                //Y轴数据(需确保X轴与Y轴的数据量相等)这里是第一根“柱子的数据”
                ArrayList[] ChartData = new ArrayList[1];

                ChartData[0] = new ArrayList();
                ChartData[0].Add(80);
                ChartData[0].Add(40);
                ChartData[0].Add(30);
                ChartData[0].Add(24);
                ChartData[0].Add(22);
                ChartData[0].Add(20);
                ChartData[0].Add(16);
                ChartData[0].Add(16);
                ChartData[0].Add(16);
                ChartData[0].Add(16);
                //为图表绑定数据
                Chart1.Series["Series1"].Points.DataBindXY(XTitle, ChartData);

                //Y轴数据(需确保X轴与Y轴的数据量相等)  这里是第二根“柱子的数据”
                ArrayList[] ChartData1 = new ArrayList[1];

                ChartData1[0] = new ArrayList();
                ChartData1[0].Add(160);
                ChartData1[0].Add(80);
                ChartData1[0].Add(60);
                ChartData1[0].Add(48);
                ChartData1[0].Add(44);
                ChartData1[0].Add(40);
                ChartData1[0].Add(32);
                ChartData1[0].Add(32);
                ChartData1[0].Add(32);
                ChartData1[0].Add(32);
                Chart1.Series["Series2"].Points.DataBindXY(XTitle, ChartData1);

                //设置每个柱形的文字标识  第一根“柱子”
                for (int i = 0; i < Chart1.Series["Series1"].Points.Count; i++)
                {
                    Chart1.Series["Series1"].Points[i].Label = ChartData[0][i].ToString();
                }
                //第二根“柱子”
                for (int i = 0; i < Chart1.Series["Series2"].Points.Count; i++)
                {
                    Chart1.Series["Series2"].Points[i].Label = ChartData[0][i].ToString();
                }
                //设置图例说明
                Chart1.Series["Series1"].LegendText = "去年";
                Chart1.Series["Series2"].LegendText = "今年";

                //标识x,y轴
                Chart1.ChartAreas["ChartArea1"].AxisX.Title = "部门";
                Chart1.ChartAreas["ChartArea1"].AxisY.Title = "数量";
                //X轴数据显示间隔
                Chart1.ChartAreas["ChartArea1"].AxisX.Interval = 1.0;
                Chart1.ChartAreas["ChartArea1"].AxisY.Interval = 25.0;

    问题及解决办法:

    问题:为 ChartImg.axd 执行子请求时出错

    解决办法:

    解决方法一:

    1. 修改web.Config

    view plaincopy to clipboardPRint?
    <add key="ChartImageHandler" value="storage=file;timeout=20;url=~/TempImages/;" /> 
    <add key="ChartImageHandler" value="storage=file;timeout=20;url=~/TempImages/;" />

    将其中的 dir=c:\TempImages\ 的绝对路径 修改外 url=~/TempImages/ 相对路径  (前提条件:网站文件中必须包含 TempImages文件夹)

    2. 修改

    view plaincopy to clipboardprint?
    <add path="ChartImg.axd" verb="GET,HEAD" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false" /> 
    <add path="ChartImg.axd" verb="GET,HEAD" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false" />

    view plaincopy to clipboardprint?
    <add path="ChartImg.axd" verb="GET,POST,HEAD" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false" /> 
    <add path="ChartImg.axd" verb="GET,POST,HEAD" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false" />

    3. 修改
    view plaincopy to clipboardprint?
    <add name="ChartImageHandler" preCondition="integratedMode" verb="GET,HEAD" 
        path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> 
    <add name="ChartImageHandler" preCondition="integratedMode" verb="GET,HEAD"
        path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />

    为:
    view plaincopy to clipboardprint?
    <add name="ChartImageHandler" preCondition="integratedMode" verb="GET,HEAD,POST" 
        path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> 
    <add name="ChartImageHandler" preCondition="integratedMode" verb="GET,HEAD,POST"
        path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />

    解决方法二:

    打开*.aspx页面,删除原来MSCchart产生的网页代码(如果你的MSChart控件已经都设置好了很多项觉得删除可惜,就剪切吧)

    然后切换到设计界面,在工具箱中选择MSChart控件,重新拖入进去,就可以自动在web.config中添加上面代码

    本人感觉采用第二个解决办法方便些

  • 相关阅读:
    1.求整数最大的连续0的个数 BinaryGap Find longest sequence of zeros in binary representation of an integer.
    JTree实例
    java发送邮件完整实例 java邮件工具类
    oracle存储过程中文乱码问题
    黑马day16 jquery&amp;内容过滤选择器&amp;可见度选择器
    隐性反馈行为数据的协同过滤推荐算法
    ACdream 1083 有向无环图dp
    正則表達式
    hdu 2209 bfs+状压
    action属性注入为null
  • 原文地址:https://www.cnblogs.com/swarb/p/9924316.html
Copyright © 2011-2022 走看看