レポートにバインドされたデータを持つデータセットがあるとしたら、うまくいきます。動的イメージとデータバインディング
ここで、別のデータセットに動的パラメータまたは動的パラメータを追加します。これらのパラメータ、つまりデータセットには画像が含まれます。イメージはバイト配列です。
生成時にRDLCレポートに表示することができません。
これは私がこれまでにやっていることです:
- は、外部ソース(URL)
- からのコードでバイト[]配列は、への画像のバイト[]配列に変換取得します
- がRDLCに続いてReportParameter
としてこれを追加Base64String、私は、このパラメータを追加して、イメージコントロールを追加しました。私はちょうどレンダリングさしかし
- = System.Convert.FromBase64String(パラメータTheImage.Value!)
: 次にこのイメージボックス/制御のために、値のために私は次のように設定しますあたかもイメージが見つからないかのように "X"がイメージにはありますが、確かにそこにあります。
レポートをレンダリングするためのコードは、多かれ少なかれ、以下の(唯一の貼り付けインポートビット):
using (var rv = new ReportViewer())
{
rv.ProcessingMode = ProcessingMode.Local;
rv.Reset();
using (var sr = new System.IO.StreamReader(@"C:\MyReport.rdlc"))
{
rv.LocalReport.LoadReportDefinition(sr);
rv.LocalReport.EnableExternalImages = true;
var
reportParameters = new List<ReportParameters>();
reportParameters.Add(new ReportParameter("TheImage", Convert.ToBase64String(TheExternalImage.Image);
rv.LocalReport.SetParameters(reportParameters);
string mimeType;
string encoding;
string fileExtension;
string[] streamIds;
Warning[] warnings;
var streambytes = rv.LocalReport.Render(format.ToString(), null, out mimeType, out encoding, out fileExtension, out streamIds, out warnings);
rv.LocalReport.ReleaseSandboxAppDomain();
}
}
私が間違っているつもり任意のアイデア?
感謝 - 問題は、画像がデータベースからではないということです。 RDLCに渡された外部ソースからのものです。 MIMEタイプはすでに正しく設定されています。 –
OK、それをテストした後 - それは働いた!ありがとう!! –