将rdlc报表作为资源嵌套使用

如果我们准备在Windows Forms里面使用rdlc报表,那么会遇到一个问题:rdlc报表到底要不要作为附属文件的方式随程序发布?

这样做的优点是:报表可以后期修改,只要名称不变。

这样做的缺点是:报表暴露给用户了,可能被用户无意或有意地删除或修改,造成程序运行异常。

 

针对上述的问题,我们其实还可以将报表作为资源的方式嵌入。很显然,因为是作为资源嵌入的,所以是不可以再修改的。但因为资源是编译到程序集内部的,所以可以保护报表。

 

1. 将报表的属性中“生成操作”设置为“嵌入的资源”

image

 

2. 通过反编译工具可以看到嵌入资源在程序集内部的样子

image

一般里面的资源名称都会加上当前程序集的名称作为前缀。

 

3. 如何将嵌入的资源读取出来,作为报表查看器控件的来源呢?

image

也就是说,我们可以通过LocalReport的一个特殊属性(ReportEmbeddedResource)来很方便地实现该需求

posted @ 2009-05-16 21:18  陈希章  阅读(1794)  评论(0编辑  收藏  举报