My RDLC Design:
I want to show image on my report Viewer from my database my reportviewer is working fine I just need an image for each selection and I have already images in my database for each patient I just want to show that here in my .aspx page I also attached the code below.
My Aspx page:
<body >
<form id="form1" runat="server">
<div class="auto-style1">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<table class="auto-style2">
<tr>
<td class="auto-style5">
<asp:Label ID="Label1" runat="server" CssClass="auto-style4"
Text="Patient Report"></asp:Label>
<asp:DropDownList ID="DropDownPat" runat="server" Height="16px"
Width="157px" AutoPostBack="True"
OnSelectedIndexChanged="DropDownPat_SelectedIndexChanged">
<asp:ListItem></asp:ListItem>
</asp:DropDownList>
</tr>
<tr>
<td class="auto-style3">
<rsweb:ReportViewer ID="ReportViewer1" runat="server" Font-Names="Verdana" Font-Size="8pt" Height="205px" WaitMessageFont-Names="Verdana" WaitMessageFont-Size="14pt" Width="751px">
<LocalReport ReportPath="Report1.rdlc">
<DataSources>
<rsweb:ReportDataSource DataSourceId="ObjectDataSource1" Name="DataSet1" />
</DataSources>
</LocalReport>
</rsweb:ReportViewer>
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" SelectMethod="GetData" TypeName="MedImage.DataSet1TableAdapters.DataTable1TableAdapter"></asp:ObjectDataSource>
</td>
</tr>
</table>
</div>
</form>
</body>
My .cs file:
I want to show image on report viewer from my database
Code behind aspx page are here
public partial class PatientReport : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
populateDropDownPat();
}
}
private void populateDropDownPat()
{
try
{
patientCollection pcal = (new patientBAL()).GetAllDetailspatient();
DropDownPat.DataSource = null;
DropDownPat.DataSource = pcal;
DropDownPat.DataTextField = "patientName";
DropDownPat.DataValueField = "PatientID";
DropDownPat.DataBind();
DropDownPat.Items.Insert(0, new ListItem("--Select Patient--"));
}
catch(Exception ex)
{
}
}
protected void DropDownPat_SelectedIndexChanged(object sender, EventArgs e)
{
string name = DropDownPat.SelectedItem.Text;
patientCollection pcal = (new
patientBAL()).GetDetailsByPatientName(name);
ReportViewer1.Visible = true;
this.ReportViewer1.LocalReport.EnableExternalImages = true;
this.ReportViewer1.LocalReport.ReportPath = "Report1.rdlc";
ReportViewer1.LocalReport.DataSources.Clear();
ReportDataSource rds = new ReportDataSource("DataSet1", pcal);
this.ReportViewer1.LocalReport.DataSources.Add(rds);
this.ReportViewer1.LocalReport.Refresh();
}
}
Best Answer
It's quite easy to show images from database. On the image property set the source to database and the value to dataset field that contains the byte[] image.