2012-05-05 11 views
0

Visual Studio 10を使用してSAP Crystal Reportsが新しくなりました。SAP Crystal Reportsで3つのパラメータを持つストアドプロシージャを使用してレポートを生成しました。レポートはうまく読み込まれていますが、印刷してエクスポートしようとすると、次のエラーが表示されます。SAP Crystal Reportsの印刷コマンドが機能しない

指定したオプションを使用してエクスポートできませんでした。オプションを確認して、もう一度お試しください。

また、コントロールプロパティでReportSourceをハードタイプしようとしましたが、ログイン情報のポップアップが表示されます。ユーザー名とパスワードを入力する必要があります。私はこれを避けたい。ここに私のコードです:

private void loadreport(DateTime dt1, DateTime dt2, int cd) 
    { 
     ReportDocument reportDocument = new ReportDocument(); 

     ParameterField paramField = new ParameterField(); 
     ParameterDiscreteValue paramDiscreteValue = new ParameterDiscreteValue(); 
     ParameterFields paramFields = new ParameterFields(); 




     //Set instances for input parameter 1 - @Dept 

     paramField.Name = "@date1"; 

     //*Remember to reconstruct the paramDiscreteValue and paramField objects 

     paramDiscreteValue.Value = dt1; 

     paramField.CurrentValues.Add(paramDiscreteValue); 

     //Add the paramField to paramFields 

     paramFields.Add(paramField); 

     ParameterField paramField2 = new ParameterField(); 
     ParameterDiscreteValue paramDiscreteValue2 = new ParameterDiscreteValue(); 

     paramField2.Name = "@date2"; 
     paramDiscreteValue2.Value = dt2; 
     paramField2.CurrentValues.Add(paramDiscreteValue2); 
     paramFields.Add(paramField2); 


     ParameterField paramField3 = new ParameterField(); 
     ParameterDiscreteValue paramDiscreteValue3 = new ParameterDiscreteValue(); 

     paramField3.Name = "@cid"; 
     paramDiscreteValue3.Value = cd; 
     paramField3.CurrentValues.Add(paramDiscreteValue3); 
     paramFields.Add(paramField3); 


     CrystalReportViewer1.ParameterFieldInfo = paramFields; 
     reportDocument.Load(Server.MapPath("testreport.rpt")); 
     //Load the report by setting the report source 

     CrystalReportViewer1.ReportSource = reportDocument; 
     CrystalReportViewer1.DisplayGroupTree = false; 
     //set the database loggon information. 




     reportDocument.SetDatabaseLogon("sa", "12345", @".\SQLEXPRESS", "AnivetERP"); 

    } 

答えて

0
It maybe is because of the post back to make the report disappear. 
    You maybe can store the report into the session. and run it in the post back. 

    if(Page.IsPostBack) 
    { 
    if(session['report'] != null) 
{ 
       this.CrystalReportViewer1.ReportSource = session['report'] as CrystalDecisions.CrystalReports.Engine.ReportDocument; 
       this.CrystalReportViewer1.DataBind(); 
} 
    } 

    Hope it can help you. 
関連する問題