我写了以下代码,
private void Button2_Click(object sender, System.EventArgs e)
{
PageMargins margins;
// 获取 PageMargins 结构并设置
//报表边距。
margins = CR.PrintOptions.PageMargins;
margins.bottomMargin = 350;
margins.leftMargin = 350;
margins.rightMargin = 350;
margins.topMargin = 350;
// 应用页边距。
CR.PrintOptions.ApplyPageMargins(margins);
// 选择打印机。
CR.PrintOptions.PrinterName = "Star AR-3200II";
CR.PrintOptions.PaperSize = CrystalDecisions.Shared.PaperSize.PaperFanfoldUS;
// 打印报表。将 startPageN 和 endPageN
//参数设置为 0 表示打印所有页。
CR.PrintToPrinter(1,false,0,0);
想通过botton2来实现打印
但是按了botton2后出现如下错
登录失败。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: CrystalDecisions.CrystalReports.Engine.LogOnException: 登录失败。
源错误:
行 180: // 打印报表。将 startPageN 和 endPageN
行 181: //参数设置为 0 表示打印所有页。
行 182: CR.PrintToPrinter(1,false,0,0);/////红字显示
行 183: }
行 184:
源文件: c:\inetpub\wwwroot\leon\printest1\webform1.aspx.cs 行: 182
堆栈跟踪:
[LogOnException: 登录失败。]
.K(String
, EngineExceptionErrorID )
.F(Int16 , Int32 )
.E(Int16 )
CrystalDecisions.CrystalReports.Engine.FormatEngine.PrintToPrinter(Int32 nCopies, Boolean collated, Int32 startPageN, Int32 endPageN)
CrystalDecisions.CrystalReports.Engine.ReportDocument.PrintToPrinter(Int32 nCopies, Boolean collated, Int32 startPageN, Int32 endPageN)
printest1.WebForm1.Button2_Click(Object sender, EventArgs e) in c:\inetpub\wwwroot\leon\printest1\webform1.aspx.cs:182
System.Web.UI.WebControls.Button.OnClick(EventArgs e)
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
System.Web.UI.Page.ProcessRequestMain()
上面错误是你报表登陆验证没作好