Reporting Service的小技巧(http://tideyee.blog.sohu.com/34897311.html)
来源:互联网 发布:台湾有4g网络吗 编辑:程序博客网 时间:2024/04/30 08:38
1、 对Table中的详细内容,以不同的颜色间隔开相邻的两行。 A:选择Table的Detail行,选择属性中的BackgroundColor,值选择表达式,输入:=iif(RowNumber(Nothing) Mod 2, "White", "Beige")。 2、设置每面显示Table表头或表尾 A:选择Table Header或Table Footer,将属性中的RepeatOnNewpage设为True. 3、在每页都显示放入的图片或标题头等信息。 A:只须在Table Header中加行数,把你要显示的内容放到单元格中,然后再按第二条方式设置后就可以了。 1. 分页的控制方式 1.1. Reporting Services自动分页在报表的页眉或者页尾添加文本框,调用全局变量=Globals!PageNumber 1.2. 根据记录条数来分页当每条记录呈现的高度不一致,我们又希望让每页呈现的记录条数一致,那么我们可以通过记录条数来分页。在通过记录条数分页时,通常是根据记录条数来分组,然后在组的结束位置添加分页符。在表、矩阵或者列表中添加一个组,然后在分组表达式中输入=(RowNumber("ContainerName") - 1) / PageSize ( PageSize 用每页所包含的记录条数替代,ContainerName用包含这个组的表、矩阵或者列表的名称替代)。这个表达式是用记录的行号整除分页大小,也就是记录所在的页码数。最后选中“在结尾处分页”,在每个组实例的结尾处放置分页符。 1.3. 按组分页插入组时,在<常规>的页签中,可以选择<在起始处分页>或者<在结尾处分页> 2. 获取参数列表的方法 ReportingService rService = new ReportingService();//创建报表服务实例 rService.Credentials = System.Net.CredentialCache.DefaultCredentials;//设置默认系统凭据 string historyID = null; bool forRendering = true; ParameterValue[] values = null; DataSourceCredentials[] credentials = null; ReportParameter[] parameters; parameters = rService.GetReportParameters//获取报表参数集合 ( "/cfhrreport/pos", historyID, forRendering, values, credentials ); ListItem item; foreach(ValidValue v in parameters[0].ValidValues)//遍历参数的有效值集合 { item=new ListItem(v.Label ,v.Value ); this.DropDownList1 .Items .Add (item);//填充到一个下拉框 } 3. Reporting Services API 首先添加web引用 http://server/reportserver/reportservice.asmx ReportingService rService = new ReportingService();//创建报表服务实例 rService.Credentials = System.Net.CredentialCache.DefaultCredentials;//默认系统凭据 CatalogItem[] catalogItems; catalogItems = rService.ListChildren("/", true);//对根路径检索 foreach(CatalogItem item in catalogItems) { if(item.Type ==ItemTypeEnum.Folder) { //遍历报表文件夹 } } foreach(CatalogItem item in catalogItems) { if(item.Type ==ItemTypeEnum.Report) { //遍历报表 } } //搜索报表 ReportService.SearchCondition[] condition=new SearchCondition[1]; condition[0]=new SearchCondition(); condition[0].Name ="Name"; condition[0].Value =this.TextBox1.Text ; catalogItems=rs.FindItems ("/",WebReportSample.ReportService .BooleanOperatorEnum .And ,condition); //发布报表 byte[] reportData; System.IO .FileStream fs=System.IO .File.OpenRead ("c://Report1.rdl"); reportData=new byte [fs.Length ]; fs.Read (reportData,0,fs.Length ); rs.CreateReport ("New Report","/",false,reportData,null); //删除报表 rs.DeleteItem ("报表名称"); 4. 报表Url分析报表 URL 包含 Web 服务器的名称、报表服务器虚拟目录的名称以及报表的完全限定名称。(完全限定的名称包含报表路径,并以报表本身的名称结束。) http://server/virtualroot?[/pathinfo]&prefix:param=value[&prefix:param=value]...n] 常用前缀及其参数名: 4.1. rc:toolbar=true/false 显示/不显示工具栏 4.2. rs:command=render 呈现报表 4.3. rs:format=PDF(DOC,XLS)导出报表格式 4.4. rc:parameters=true/false 显示/不显示工具栏的参数选择区域 4.5. @Parameter=value 直接传递参数值注意:在URL参数中如果有中文,将不能被正确识别,解决的方法是用HttpUtility.UrlEncode将其转换为uft-8,再附加到参数中即可。此外还要注意参数是大小写敏感的。 5. ASP.NET中展现报表 ASP.NET提供了多种技术来呈现Web形式的报表,通常的解决方法是用Iframe。将我们前面所掌握的URL赋值给Iframe的src,结合Javascritp脚本,我们便可以将报表集成在页面中。此外,我们还可以充分利用ASP.NET强大的控件功能,如日历控件、图像按钮等功能提高系统的易用性。小技巧:有时报表中的图片可能会显示不出来,这可能是Cookies的设置问题,你也可以通过让客户下载reg文件,把Reporting Services服务器加入本地计算机的信任站点中。此外,报表中的image有embed和external两种方式,建议使用external方式,这样可以有效地缩小报表的尺寸。 6.报表中使用自定义嵌入式代码 Reporting Service 只接受Microsoft Visual Basic .NET 中编写嵌入式代码, 代码准备好,您就可以使用全局定义的 Code 成员在报表表达式中调用它。例如,如果您编写了一个名为 GetValue 的嵌入式代码函数,就可以使用下列语法从您的表达式中调用它: 6.1.在报表<属性>中,选择<代码>页签,输入自定义代码 Function GetValue(value As Object) As Object if Value is Nothing then return 0 else return value end if End Function 6.2.调用方法: =Code.GetValue(Code.GetValue(Fields!字段名.Value))
- Reporting Service的小技巧(http://tideyee.blog.sohu.com/34897311.html)
- http://feihuayikuang.blog.sohu.com/139047736.html
- Reporting Service的小技巧
- http://qqtornado.blog.sohu.com/
- Android系统触摸屏的校正——http://carvencao.blog.sohu.com/156057534.html
- lseek函数的使用 转载自http://atia.blog.sohu.com/94895919.html
- Reporting Service 小技巧
- 我的真实博客地址在SOHU: http://view.blog.sohu.com/
- 使用JSON来做数据传输的动态下拉列表(转自http://j2ee.blog.sohu.com/68011726.html)
- VC实现最小化后在系统托盘显示_转http://k1983.blog.sohu.com/47997964.html
- 在ASP.Net中使用FCKeditor http://lywzn.blog.sohu.com/52513094.html
- oracle10G启动(转自http://zsss.blog.sohu.com/13096856.html)
- md5加密原文地址:http://lintex.blog.sohu.com/4456438.html
- (转+http://howwe.blog.sohu.com/118403286.html )人在做,天在看
- 关于信噪比SNR【转载】1.http://well3216.blog.sohu.com/96624202.html
- 前同事的BLOG--http://qingtaoliu.blog.sohu.com/
- badlam.blog.sohu.com
- 欢迎你访问我的Bolb http://baizewen.blog.sohu.com/
- Vista 服务优化
- eval()简单一点说,就是将凑成的字符串去掉引号当作代码执行
- 编写高性能 Web 应用程序的10个技巧
- eclipse 自动换行wordwrap 插件
- 老汉的一个提高英语口语最用效的方法
- Reporting Service的小技巧(http://tideyee.blog.sohu.com/34897311.html)
- Oracle中对像名大小写敏感性的深入解析
- 如何查看本机开放端口 - Adam的专栏 - CSDNBlog
- .Net平台Windows Forms程序设计简介
- 开始了
- 感动上帝的医生?
- 服务器端FileUpload上传控件如何禁止手动输入并且不能粘贴.
- 如何识别真正的程序员
- 那些本属于我们的全民财富