说来惭愧,以前的工作中一直借助第三方dll进行报表制作,比如线性图,柱形图. 因为现在工作的这家公司不允许随便引入第三方dll,听同事说起可以建rdl类型文件进行引入到winform窗体中,窗体上使用reportViewer控件进行关联展示.下面是我今天摸索3个小时的结果分享.

第一步.

首先找到sql server 2012 如下图所示:

利用微软平台生成报表,线性图,柱形图

利用微软平台生成报表,线性图,柱形图

按照向导进行下一步

利用微软平台生成报表,线性图,柱形图

利用微软平台生成报表,线性图,柱形图

后面可以默认点击下一步下一步 完成项目设置.

选中项目名 添加新项 创建一个空的报表

利用微软平台生成报表,线性图,柱形图

利用微软平台生成报表,线性图,柱形图

利用微软平台生成报表,线性图,柱形图

利用微软平台生成报表,线性图,柱形图

利用微软平台生成报表,线性图,柱形图

拖动迷你图  手动拉大图标 边框会自适应大小 区域内右键选中转换成整个图表  如下图所示

利用微软平台生成报表,线性图,柱形图

 

 动态设置标题

利用微软平台生成报表,线性图,柱形图

利用微软平台生成报表,线性图,柱形图

利用微软平台生成报表,线性图,柱形图

选中线别,右键选择序列化属性

利用微软平台生成报表,线性图,柱形图

利用微软平台生成报表,线性图,柱形图

设置线别宽度.

winform 界面读取rdl类型界面核心代码如下:

  try
            {
                  string sql = @"SELECT id,RNAME,mark,AGE,WORKYEAR  FROM dbo.Region";


                DataTable temp = SQLHelper.GetDataTable(sql, CommandType.Text, null);
                reportViewer1.LocalReport.ReportPath = AppDomain.CurrentDomain.BaseDirectory + "Report2.rdl";

                XmlDocument xmlDocument = new XmlDocument();
                xmlDocument.Load(reportViewer1.LocalReport.ReportPath);
                XmlNodeList nodeTemplet = xmlDocument.GetElementsByTagName("DataSet");
                string dataSetName = "";
                if (nodeTemplet != null) dataSetName = nodeTemplet.Item(0).Attributes[0].Value;

                reportViewer1.LocalReport.DataSources.Clear();
                reportViewer1.LocalReport.SetParameters(new ReportParameter("mark", "测试用RDL生成线性图"));
                reportViewer1.LocalReport.DataSources.Add(new ReportDataSource(dataSetName, temp));
                this.reportViewer1.RefreshReport();
            }
            catch (Exception ex)
            {

                MessageBox.Show(ex.Message);
            }

 按字段进行统计利用微软平台生成报表,线性图,柱形图

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-12-01
  • 2021-08-15
  • 2021-12-25
  • 2022-12-23
  • 2022-12-23
  • 2021-07-28
猜你喜欢
  • 2022-12-23
  • 2021-07-26
  • 2022-12-23
  • 2021-12-04
  • 2022-12-23
相关资源
相似解决方案