Web程序,使用ReportSerivce报表对象模型编程发布报表

前一段时间在公司做了一个需要用到sql server2005 reportserivce服务的项目,我主要负责reportserivce的报表模块部分.为了方便报表的发布,所以做了报表的添加,删除管理页面.下面就记录一下我的做的添加表报功能页面:


下面最终做的添加管理页面:

Web程序,使用ReportSerivce报表对象模型编程发布报表


接着,说说具体的步骤:

首先定义一个报表项目ReportItem.cs类,用主要是方便后面好操作,方便修改导航树报表的url地址:

ReportItem.cs代码


同时,我在待添加报表的目录中,写了Reports.xml文件,由于描述报表的一些属性,和上面的reportitem.cs类是对应的.
说明以下:
ChineseName主要用于显示在导航树中的名字
Englishname是用来保存报表的英文名字,因为在开发的时候,以及后面的url访问的时候,都是用的这个名字,所以我决定英文名字,以避免将来可能遇到的编码问题.
IsSubReport是否是子报表,主要是以为我有嵌套子报表的情况.
上面的ReportItem.cs的各个属性说明也和这个一样.

<?xml version="1.0" encoding="gb2312" ?>
<ReportItems>
<Item>
 
<ChineseName>商品基本信息</ChineseName>
 
<EnglishName>ReportGoods.rdl</EnglishName>
 
<IsSubReport>true</IsSubReport>
</Item>
</ReportItems>



以下是C#源代码:

 

Web程序,使用ReportSerivce报表对象模型编程发布报表using System;
Web程序,使用ReportSerivce报表对象模型编程发布报表
using System.Data;
Web程序,使用ReportSerivce报表对象模型编程发布报表
using System.Configuration;
Web程序,使用ReportSerivce报表对象模型编程发布报表
using System.Collections;
Web程序,使用ReportSerivce报表对象模型编程发布报表
using System.Web;
Web程序,使用ReportSerivce报表对象模型编程发布报表
using System.Web.Security;
Web程序,使用ReportSerivce报表对象模型编程发布报表
using System.Web.UI;
Web程序,使用ReportSerivce报表对象模型编程发布报表
using System.Web.UI.WebControls;
Web程序,使用ReportSerivce报表对象模型编程发布报表
using System.Web.UI.WebControls.WebParts;
Web程序,使用ReportSerivce报表对象模型编程发布报表
using System.Web.UI.HtmlControls;
Web程序,使用ReportSerivce报表对象模型编程发布报表
using System.Web.Services;
Web程序,使用ReportSerivce报表对象模型编程发布报表
using myWebReport.Web.rs;
Web程序,使用ReportSerivce报表对象模型编程发布报表
using System.Xml;
Web程序,使用ReportSerivce报表对象模型编程发布报表
using System.Collections.Generic;
Web程序,使用ReportSerivce报表对象模型编程发布报表
namespace myWebReport




总结以下需要主要的几个地方:
1.创建报表资源的时候,需要注意的是CreateResource方法的第一个参数,资源名称是要包含后缀的(如:picture.png"),否则,浏览的时候资源出来不,因为我的资源是png图片所以是"image/png".
2.因为我做的时候,在添加报表的时候,可以修改数据源,所以写了ChangeDataSource方法把每个报表的数据源设置成一样的
3.修改导航树的时候(如果有导航菜单xml文件),要注意的是:&符号在xml文件的表示,之前我把&换成&amp;结果修改xml文件保存后,发现报表的url地址还是不对.后面,换成@"&rs.."就可以了.
4.如果有嵌套子报表的话,那么还修改母报表和子报表的rdl文件,否则嵌套的子报表出来.子报表也返回不到母报表了.

觉得有几个地方不是很好:
1,维护报表目录下的xml文件比较麻烦点,以后每添加报表都要有个相应的xml文件
2,“获取报表”按钮如果能做成,文件夹打开对话框那种形式,那操作性更好一些。

以上问题,我还没想到怎么做才好?

 

相关文章:

  • 2021-11-21
  • 2021-07-10
  • 2021-07-27
  • 2022-12-23
  • 2021-11-04
  • 2021-07-01
  • 2021-04-01
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-04-21
相关资源
相似解决方案