水晶报表资料
1。新建工程,添加oledbdataadapter,配制数据库,生成数据集
2。添加水晶报表,使用项目数据,ADO。NET数据集生成报表
3。添加reportdocument控件,选择工程名.报表名做为名称
4。添加CrystalReportViewer控件,什么属性都别改
以上4步完成后,在希望显示报表的地方添加一下代码
OleDbDataAdapter1.Fill(DataSet11, "用户登录表")
crystalReport11.SetDataSource(DataSet11)
CrystalReportViewer1.ReportSource = crystalReport11
就不会弹出登录提示框了,不过原因我还是不清楚,我在这里连用户名,密码都没设置过,更不要说数据源了,所以我想这一定是通过DATASET来连接的
从服务器打印基于 Web 的报表
如果用户无权访问打印导出的报表所需的应用程序,您可能希望使他们能够从服务器打印报表。对于服务器端打印,报表在 Web 服务器上生成,并被打印到安装在 Web 服务器上的打印机。用户可以选择距离他们最近的打印机,并让服务器处理打印。
服务器端打印的要求是:
打印机必须安装在 Web 服务器上
本地 SYSTEM 帐户有权访问打印机
对包含 .NET Framework 的配置设置的 Machine.config 文件进行了编辑,以赋予 ASPNET 辅助进程对服务器上系统设置的访问权限。
注意 实现服务器端打印涉及到更改服务器上的默认权限,对于对 Internet 公开的应用程序建议不要这么做。
如果想使用户能够打印在 Web 上访问的整个多页报表,您有下列选项:
使用Web 窗体 Viewer 工具栏上的“打印”按钮将报表导出为 PDF。
注意 报表部件 Viewer 没有此选项。
导出报表为可以由客户端的现有应用程序打印的格式。
使用PrintToPrinter 方法从服务器打印报表。
将报表作为一个连续的页提供以通过 Internet Explorer 浏览器在客户端启用打印。
使用 PrintOptions.PrinterName 属性将报表的指定页输出到选定的打印机上。如果未选择打印机,则将使用报表中指定的默认打印机。
[C#]
public virtual void PrintToPrinter (int nCopies , bool collated , int startPageN , int endPageN );
参数
nCopies
指明要打印的份数。
collated
指明是否逐份打印。
startPageN
指明要打印的第一页。
endPageN
指明要打印的最后一页。
备注
若要打印所有页,请将 startPageN 参数和 endPageN 参数设置为零。
[C#]
private void PrintReport(string printerName)
{
PageMargins margins;
// 获取 PageMargins 结构并设置
// 报表的边距。
margins = Report.PrintOptions.PageMargins;
margins.bottomMargin = 350;
margins.leftMargin = 350;
margins.rightMargin = 350;
margins.topMargin = 350;
// 应用页边距。
Report.PrintOptions.ApplyPageMargins(margins);
// 选择打印机。
Report.PrintOptions.PrinterName = printerName;
// 打印报表。将 startPageN 和 endPageN
// 参数设置为 0 表示打印所有页。
Report.PrintToPrinter(1, false,0,0);
}
要求
命名空间:CrystalDecisions.CrystalReports.Engine
如果用户无权访问打印导出的报表所需的应用程序,并且服务器端打印存在安全性或访问权限问题,您可能需要使用户能够从他们的浏览器打印报表。此方法将整个报表作为一个连续的页显示在 Web 窗体 Viewer 控件中,因而能够使用浏览器的打印功能。
在应用程序中,可以在现有 Web 窗体 Viewer 旁边添加一个按钮,该按钮可以将客户端重定向到新的、在浏览器中将整个报表显示为一个连续页的 Web 窗体 Viewer。可以对第二个窗体上的查看器进行格式化,以便禁用组树和工具栏,并将查看器的 SeparatePages 属性设置为 False。
注意 这种打印方法有一个局限,即无法控制页眉、页脚和分页符的定位。
crReportDocument = New Income_Statement()
CrystalReportViewer1.ReportSource = crReportDocument
CrystalReportViewer1.SeparatePages = False
CrystalReportViewer1.DisplayGroupTree = False
CrystalReportViewer1.DisplayToolbar = False