zoukankan      html  css  js  c++  java
  • ReportViewer改变图表类型

     /// <summary>
        /// 切换成柱状图
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void Button1_Click(object sender, EventArgs e)
        {
            ChangeChartType("Column");

        }
        /// <summary>
        /// 切换成饼状图
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void Button2_Click(object sender, EventArgs e)
        {
            ChangeChartType("Pie");

        }
        /// <summary>
        /// 切换图形
        /// </summary>
        /// <param name="type"></param>
        private void ChangeChartType(string type)
        {

            XmlDocument doc = new XmlDocument();
            doc.Load("E:/RSTest/Report/Report2.rdlc");
            XmlNamespaceManager xnm = new XmlNamespaceManager(doc.NameTable);
            xnm.AddNamespace("x", "http://schemas.microsoft.com/sqlserver/reporting/2005/01/reportdefinition");
            xnm.AddNamespace("rd", "http://schemas.microsoft.com/SQLServer/reporting/reportdesigner");
            doc.SelectSingleNode("/x:Report/x:Body/x:ReportItems/x:Chart[@Name='chart1']/x:Type", xnm).InnerText = type;

            System.IO.MemoryStream ms = new System.IO.MemoryStream();
            doc.Save(ms);
            ms.Position = 0;

            ReportViewer1.Reset();//一定要Reset才有效
            ReportViewer1.LocalReport.LoadReportDefinition(ms);

            SqlConnection connection = new SqlConnection(connString);
            connection.Open();
            string c = "select sum(小学.学校总数) as 小学总数,sum(初中.学校总数) as 初中总数,sum(高中.学校总数)  as 高中总数, sum(小学.总人员) as 小学总人员,sum(初中.总人员) as 初中总人员,sum(高中.总人员)  as 高中总人员, sum(小学.学生电脑总量) as 小学学生电脑总量,sum(初中.学生电脑总量) as 初中学生电脑总量,sum(高中.学生电脑总量)  as 高中学生电脑总量, sum(小学.在编人数) as 小学在编人数,sum(初中.在编人数) as 初中在编人数,sum(高中.在编人数)  as 高中在编人数, sum(小学.教师电脑总量) as 小学教师电脑总量,sum(初中.教师电脑总量) as 初中教师电脑总量,sum(高中.教师电脑总量)  as 高中教师电脑总量, sum(小学.多媒体教室) as 小学多媒体教室,sum(初中.多媒体教室) as 初中多媒体教室,sum(高中.多媒体教室)  as 高中多媒体教室, sum(小学.计算机网络教室) as 小学计算机网络教室,sum(初中.计算机网络教室) as 初中计算机网络教室,sum(高中.计算机网络教室)  as 高中计算机网络教室, sum(小学.建有独立校园网站学校) as 小学建有独立校园网站学校,sum(初中.建有独立校园网站学校) as 初中建有独立校园网站学校,sum(高中.建有独立校园网站学校)  as 高中建有独立校园网站学校, sum(小学.建有独立校园网络学校) as 小学建有独立校园网络学校,sum(初中.建有独立校园网络学校) as 初中建有独立校园网络学校,sum(高中.建有独立校园网络学校)  as 高中建有独立校园网络学校, sum(小学.硬件投入) as 小学硬件投入,sum(初中.硬件投入) as 初中硬件投入,sum(高中.硬件投入)  as 高中硬件投入, sum(小学.软件投入) as 小学软件投入,sum(初中.软件投入) as 初中软件投入,sum(高中.软件投入)  as 高中软件投入, sum(小学.电教示范学校) as 小学电教示范学校,sum(初中.电教示范学校) as 初中电教示范学校,sum(高中.电教示范学校)  as 高中电教示范学校, sum(小学.会制作网页和动画教室) as 小学会制作网页和动画教室,sum(初中.会制作网页和动画教室) as 初中会制作网页和动画教室,sum(高中.会制作网页和动画教室)  as 高中会制作网页和动画教室, sum(小学.班级通学校) as 小学班级通学校,sum(初中.班级通学校) as 初中班级通学校,sum(高中.班级通学校)  as 高中班级通学校, sum(小学.班班多媒体学校) as 小学班班多媒体学校,sum(初中.班班多媒体学校) as 初中班班多媒体学校,sum(高中.班班多媒体学校)  as 高中班班多媒体学校, sum(小学.县区班班通) as 小学县区班班通,sum(初中.县区班班通) as 初中县区班班通,sum(高中.县区班班通)  as 高中县区班班通 from 小学,初中,高中 where 小学.城市=初中.城市 and 初中.城市=高中.城市";//此处为图表绑定的数据
            SqlCommand cmd = new SqlCommand(c, connection);
            SqlDataAdapter da = new SqlDataAdapter(cmd);

            DataTable ds = new DataTable();
            da.Fill(ds);
            ReportViewer1.LocalReport.DataSources.Clear();
            ReportViewer1.LocalReport.DataSources.Add(new Microsoft.Reporting.WebForms.ReportDataSource("DataSet1_DataTable1", ds));             ReportViewer1.LocalReport.Refresh();

        }

    图形中标签显示百分比:右击图表——选择“属性”——点击“数据”——添加值——值标签中的序列标签为图表中右侧显示的数据、值为图形代表的数据——点击“点标签”——选中“显示点标签”——输入百分比的公式

  • 相关阅读:
    win10设置自带的ubuntu
    C语言动态分配内存及回收
    Qt编写安防视频监控系统47-基本设置
    关于Qt选择qml还是widget的深度思考
    Oracle,查询表空间所有表、表所在的表空间、用户默认表空间,以及如何缩小表空间
    Spring入门小结:HelloWorld程序、依赖注入、Bean的实例化、Bean的作用域、Bean的生命周期、Bean的装配方式
    UltraEdit,Java代码中文乱码问题的解决(包括ANSI编码,以及UTF-8编码的Java源文件)
    MyEclipse,Java代码出现中文乱码问题的解决;以及ASCII/GB2312/GBK文件格式转换为UTF-8文件格式的程序
    按键精灵的几个常见操作:激活窗口/读取Excel/FindPic/组合键输入/等待用户输入/拷贝剪贴板/等待网站返回/读写文本/统计运行时间
    Oracle导入(impdp)比较大的数据,包括创建表空间、创建用户、导入数据等;含expdp及其它
  • 原文地址:https://www.cnblogs.com/lff255356/p/ReportViewer.html
Copyright © 2011-2022 走看看