2009-07-18 9 views
2

ReportViewerに画像ロゴを動的に追加する手助けが必要です。このコードは、次の...私は、Base64に変換し、DBからこの画像を取得し、その後、私はレポートビューアーでそれを追加する必要があります。ReportViewerのパラメータにイメージロゴを動的に追加するにはどうすればよいですか?

rpViewer.LocalReport.EnableExternalImages = true; 

     Company _company = db.Companys.Where(c => c.codCompany == c.codCompany).Single(); 

     //first step 
     byte[] img = _company.imagem.ToArray(); // i get image from db 
     MemoryStream _ms = new MemoryStream(img); 

     string logo = Convert.ToBase64String(img); //convert to base64 

     // 2 step 
     List<ReportParameter> lstReportParams = new List<ReportParameter>();//Create params 
     lstReportParams.Add(new ReportParameter("Logo", logo)); 
     lstReportParams.Add(new ReportParameter("LogoMimeType", "image/png")); 

     // Doesn't work here (see error below) 
     this.rpViewer.LocalReport.SetParameters(lstReportParams); 

     this.rpViewer.RefreshReport(); 

エラー:Rldcで

{"An error occurred during local report processing."}
{"An attempt was made to set a report parameter 'Logo' that is not defined in this report."}

なぜ機能しないのですか?

なぜパラメータが認識されないのですか?

ReportViewerでそのイメージを読み込むことができます。

答えて

1

エラーメッセージでは、レポートパラメータのロゴを定義していないと表示されます。このレポートパラメータは定義されていますか?

また、あなたがで送信されるパラメータの大きさの問題に実行することができる。

を私たちは、異なる画像を表示するために必要なレポートで、同様の問題がありました。私たちの場合、約10枚の画像しかありませんでした。

私たちが解決した方法は、すべての画像をレポートに配置し、パラメータに応じて視覚可能かどうかを設定することでした。

+0

こんにちは、 私は会社のロゴであるdbで写真を撮ってレポートに表示する必要があります。 RLDCのこのパラメータはokですか? MIMEType = Parameters!LogoMimeType.value値 値= "System.Convert.FromBase64String(Parameters!Logo.Value)" ありがとう.. – user95542

2

レポートでパラメータリストを認識するために、RDLCファイルにロゴパラメータを作成する必要があります。

RDLCファイルを編集し、パラメータを作成する必要があります。これを行うには、Visual StudioでRDLCファイルを開き、ファイルメニューの[レポート]をクリックし、[レポートパラメータ]を選択します。

関連する問題