Visual Studio自带的报表文件(rdlc,后面提到的报表,都指rdlc报表文件)虽然功能相对不是十分强大,但应付一般的报表要求也是绰绰有余了。关于rdlc报表的使用和设计方法,这里就不做讲解了,本文主要介绍一下如何不使用报表预览控件(ReportViewer),直接将报表的内容在打印机上打印出来。
一般情况下,我们设计好报表后,在程序运行的时候,会将其加载到ReprotViewer控件中进行预览并打印,但有些情况下,我们不想预览报表的内容,而直接将其在打印机上打印出来,又该怎么做呢?要想实现直接打印的功能,我们需要用到.Net提供的2个对象,LocalReport和PrintDocument。LocalReport对象负责加载一个报表文件生成实际的报表并将报表按照知道的格式输出,PrintDocument对象负责将LocalReport的输出内容发送到打印机打印。具体的实现步骤如下:
Step 1: 声明一个LocalReport对象并加载一个报表文件(假定我们已经设计好一个报表文件,名称为PrintMe.rdlc)。
1: LocalReport report = new LocalReport();
2: //设置需要打印的报表的文件名称。
3: report.ReportPath = @"c:\PrintMe.rdlc";
4: //创建要打印的数据源
5: ReportDataSource source = new ReportDataSource(SourceTalbe.TableName, SourceTalbe);
6: report.DataSources.Add(source);
7: //刷新报表中的需要呈现的数据
8: report.Refresh();
Step 2: 将报表的内容输出为指定格式的数据流。
1: string deviceInfo =
2:

本文介绍了如何在C#中不使用ReportViewer控件,而是通过LocalReport和PrintDocument对象直接将rdlc报表内容发送到打印机进行打印。详细步骤包括加载报表文件、输出报表为Image格式的数据流以及使用PrintDocument执行打印操作。
6232

被折叠的 条评论
为什么被折叠?



