Hi haider6.9,
I have created sample code by refering the below article which full-fill your requirement.
<form id="form1" runat="server">
<div>
<asp:DropDownList ID="ddlEmployeeName" AutoPostBack="true" OnSelectedIndexChanged="OnEmployeeName"
runat="server">
</asp:DropDownList>
<br />
<br />
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<rsweb:ReportViewer ID="ReportViewer1" Width="700px" runat="server">
</rsweb:ReportViewer>
</div>
</form>
C#
private string conString = ConfigurationManager.ConnectionStrings["constrtest"].ConnectionString;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.GetEmployeeName();
}
}
private void GetEmployeeName()
{
string query = "SELECT Id,EmployeeName FROM EmployeesDetails";
string conString = ConfigurationManager.ConnectionStrings["constrtest"].ConnectionString;
SqlConnection con = new SqlConnection(conString);
SqlCommand cmd = new SqlCommand(query, con);
DataTable dt = new DataTable();
SqlDataAdapter sda = new SqlDataAdapter(cmd);
sda.Fill(dt);
ddlEmployeeName.DataSource = dt;
ddlEmployeeName.DataTextField = "EmployeeName";
ddlEmployeeName.DataValueField = "Id";
ddlEmployeeName.DataBind();
ddlEmployeeName.Items.Insert(0, new ListItem("--- EmployeeName ---", "0"));
}
protected void OnEmployeeName(object sender, EventArgs e)
{
if (int.Parse(ddlEmployeeName.SelectedValue) > 0)
{
GetData(Convert.ToInt32(ddlEmployeeName.SelectedValue.Trim()));
}
}
private void GetData(int employeeId)
{
ReportViewer1.ProcessingMode = ProcessingMode.Local;
ReportViewer1.LocalReport.ReportPath = Server.MapPath("~/Report3.rdlc");
ReportViewer1.LocalReport.EnableExternalImages = true;
SqlConnection con = new SqlConnection(conString);
SqlCommand cmd = new SqlCommand("SELECT * FROM EmployeesDetails WHERE Id='" + employeeId + "'", con);
DataTable dt = new DataTable();
SqlDataAdapter sda = new SqlDataAdapter(cmd);
sda.Fill(dt);
string picsImagepath = new Uri(Server.MapPath("~/Files/" + dt.Rows[0]["EmployeePic"] + "")).AbsoluteUri;
string address = dt.Rows[0]["Address"].ToString();
string empname = dt.Rows[0]["EmployeeName"].ToString();
string contactnumber = dt.Rows[0]["ContactNumber"].ToString();
ReportParameter parameterpic = new ReportParameter("EmployeeImage", picsImagepath);
ReportParameter parameterpname = new ReportParameter("Name", empname);
ReportParameter parameterpempAddress = new ReportParameter("Address", address);
ReportParameter parameterpcontactnumber = new ReportParameter("ContactNumber", contactnumber);
ReportViewer1.LocalReport.SetParameters(new ReportParameter[] { parameterpic, parameterpname, parameterpempAddress, parameterpcontactnumber });
ReportViewer1.LocalReport.DataSources.Clear();
}
Vb.net
Private conString As String = ConfigurationManager.ConnectionStrings("constrtest").ConnectionString
Protected Sub Page_Load(sender As Object, e As EventArgs)
If Not IsPostBack Then
Me.GetEmployeeName()
End If
End Sub
Private Sub GetEmployeeName()
Dim query As String = "SELECT Id,EmployeeName FROM EmployeesDetails"
Dim conString As String = ConfigurationManager.ConnectionStrings("constrtest").ConnectionString
Dim con As New SqlConnection(conString)
Dim cmd As New SqlCommand(query, con)
Dim dt As New DataTable()
Dim sda As New SqlDataAdapter(cmd)
sda.Fill(dt)
ddlEmployeeName.DataSource = dt
ddlEmployeeName.DataTextField = "EmployeeName"
ddlEmployeeName.DataValueField = "Id"
ddlEmployeeName.DataBind()
ddlEmployeeName.Items.Insert(0, New ListItem("--- EmployeeName ---", "0"))
End Sub
Protected Sub OnEmployeeName(sender As Object, e As EventArgs)
If Integer.Parse(ddlEmployeeName.SelectedValue) > 0 Then
GetData(Convert.ToInt32(ddlEmployeeName.SelectedValue.Trim()))
End If
End Sub
Private Sub GetData(employeeId As Integer)
ReportViewer1.ProcessingMode = ProcessingMode.Local
ReportViewer1.LocalReport.ReportPath = Server.MapPath("~/Report3.rdlc")
ReportViewer1.LocalReport.EnableExternalImages = True
Dim con As New SqlConnection(conString)
Dim cmd As New SqlCommand("SELECT * FROM EmployeesDetails WHERE Id='" + employeeId + "'", con)
Dim dt As New DataTable()
Dim sda As New SqlDataAdapter(cmd)
sda.Fill(dt)
Dim picsImagepath As String = New Uri(Server.MapPath("~/Files/" + dt.Rows(0)("EmployeePic") + "")).AbsoluteUri
Dim address As String = dt.Rows(0)("Address").ToString()
Dim empname As String = dt.Rows(0)("EmployeeName").ToString()
Dim contactnumber As String = dt.Rows(0)("ContactNumber").ToString()
Dim parameterpic As New ReportParameter("EmployeeImage", picsImagepath)
Dim parameterpname As New ReportParameter("Name", empname)
Dim parameterpempAddress As New ReportParameter("Address", address)
Dim parameterpcontactnumber As New ReportParameter("ContactNumber", contactnumber)
ReportViewer1.LocalReport.SetParameters(New ReportParameter() {parameterpic, parameterpname, parameterpempAddress, parameterpcontactnumber})
ReportViewer1.LocalReport.DataSources.Clear()
End Sub
Screenshot
