前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Reporting Service报表开发

Reporting Service报表开发

作者头像
JadePeng
发布2018-01-18 09:38:19
1.2K0
发布2018-01-18 09:38:19
举报
文章被收录于专栏:JadePeng的技术博客

       项目中需要用到报表,经过技术验证和成本方面的考虑,最后决定使用Reporting Service,因此在这里把开发中的一些故事记下来,以备后用。

       开发环境:VS2005,SQL SERVER 2005 SP3,这里说下为什么要用SP3,安全问题嘛,呵呵,如果用SP2,就会出现报表无法打印,报的错误是“无法加载客户端打印控件”,升级成SP3就OK了。

     一、 中国式报表

      对于形如Grid的这种表格,用RS来做超级简单,直接拖拽个表格就OK了。难的是中国式报表,比如下面这个:

    直接用表格来做比较麻烦,用矩阵来做的话,上图中的“其中”又不好画出来。

    对这种情况,偷一下懒,先用文本框绘制静态的部分,堆一个表格,然后用表格来显示空具体的数据

最后运行的结果

二、在web中显示报表

      将前面的报表稍微修改下,在数据源里加上一个参数,比如

SELECT  top 8 s.SalesOrderID, e.EmployeeID, e.Title, s.SalesOrderNumber, title=@title FROM     Sales.SalesOrderHeader AS s INNER JOIN                HumanResources.Employee AS e ON s.SalesPersonID = e.EmployeeID

这里的@title就是一个参数,需要在运行的时候提供

      在web中显示报表可以通过MS提供的ReportViewer控件,

代码语言:js
复制
<rsweb:ReportViewer ID="ReportViewer1" runat="server" Font-Names="Verdana" Font-Size="8pt"
             Height="487px" ProcessingMode="Remote" Width="1094px">
             <ServerReport ReportPath="/Dynamic Query Tutorial/SmallSchoolBase7" />
  </rsweb:ReportViewer>  

      在控件的标记里可以直接设定报表所在的路径,当然,这些都可以在代码里来实现

      比如

代码语言:js
复制
                ReportParameter parameter = new ReportParameter("title", "test");//添加参数
                 List<ReportParameter> list = new List<ReportParameter>();
                 list.Add(parameter);
                 this.ReportViewer1.ServerReport.SetParameters(list);
                 this.ReportViewer1.ShowParameterPrompts = false;   //不显示参数提示

     运行的效果:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2009-05-14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  •      一、 中国式报表
  • 二、在web中显示报表
相关产品与服务
腾讯云 BI
腾讯云 BI(Business Intelligence,BI)提供从数据源接入、数据建模到数据可视化分析全流程的BI能力,帮助经营者快速获取决策数据依据。系统采用敏捷自助式设计,使用者仅需通过简单拖拽即可完成原本复杂的报表开发过程,并支持报表的分享、推送等企业协作场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档