datarowクラスでdatatableを初期化します。画像フィールドがあります。画像を初期化した後、RDLCレポートには画像は表示されませんが、他の列が表示されます。私のRDLCレポートはピクチャーボックスコントロールを保持しています。
Image Source=Database
MIMM Type=Image/Bitmap
Value==Fields!Images.Value
これが私のコードスニペットです。
DataTable dt = new DataTable();
dt.Columns.Add("ImageId");
dt.Columns.Add("ImageName");
dt.Columns.Add("Images");
dt.Columns.Add("Barcode");
DataTable mydata = GetDataSet();
DataRow drow = dt.NewRow();
drow["ImageId"] = mydata.Rows[0][0];
drow["ImageName"] = mydata.Rows[0][1];
drow["Images"] = mydata.Rows[0][2]; //This is image row
drow["Barcode"] = mydata.Rows[0][3];
dt.Rows.Add(drow);
ReportDataSource rds = new ReportDataSource("DataSet1", dt);
ReportViewer1.LocalReport.DataSources.Clear();
ReportViewer1.LocalReport.DataSources.Add(rds);
ReportViewer1.LocalReport.Refresh();
そしてここにレポートビューアコードがあります:
<rsweb:ReportViewer ID="ReportViewer1" runat="server" Font-Names="Verdana"
Font-Size="8pt" InteractiveDeviceInfos="(Collection)"
WaitMessageFont-Names="Verdana" WaitMessageFont-Size="14pt">
<LocalReport ReportPath="Reports\Report1.rdlc">
</LocalReport>
</rsweb:ReportViewer>
データセットの画像データ型String.Byte[]はすでに変更しています。しかし、運はありません。データ行なしでデータテーブルを設定すると、画像がはっきりと表示されます。どうしてか分かりません?私はそれをグーグルで検索しましたが、完璧な解決策を見つけることができません。助けてください(英語が下手でごめんなさい)