Showing posts with label RDLC. Show all posts
Showing posts with label RDLC. Show all posts

Tuesday, 11 February 2014

Passing Data Table and Parameter to RDLC Report

In Designer page add RDLC Report viewer

<%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
    Namespace="Microsoft.Reporting.WebForms" TagPrefix="rsweb" %>


<rsweb:ReportViewer ID="ReportViewer1" runat="server" Font-Names="Verdana" Font-Size="8pt"
  Visible="false" Width="100%" OnPreRender="ReportViewer1_PreRender" InteractiveDeviceInfos="(Collection)" WaitMessageFont-Names="Verdana" WaitMessageFont-Size="14pt" Style="border: #c2c1be solid 1px;"></rsweb:ReportViewer> 


Based on your requirement design Report

In button click place below code


ReportViewer1.Visible = true;

string reportPath = ConfigurationManager.AppSettings["ReportsPath"] + "ReportName.rdlc";


//Pass "Report name" and "Data Set" to Report Data source
ReportDataSource datasource = new ReportDataSource("ReportataSet", CommisionOverView);

//Clear existing Report Data Source
ReportViewer1.LocalReport.DataSources.Clear();

//Add new Data Source
ReportViewer1.LocalReport.DataSources.Add(datasource); 

ReportViewer1.LocalReport.ExecuteReportInCurrentAppDomain(System.Reflection.Assembly.GetExecutingAssembly().Evidence);

//Pass Report file to Report Viewer
ReportViewer1.LocalReport.ReportPath = Server.MapPath(reportPath);

//Display Report File Name
ReportViewer1.LocalReport.DisplayName = "ReportName" + Convert.ToDateTime(DateTime.Now).ToString("ddMMMyyyyhhmmss");

------------------------------Passing Parameters to RDLC--------------------------
ReportParameter rp = new ReportParameter("prmMonth", this.ddlMonth.SelectedItem.Text, false);
ReportParameter rp2 = new ReportParameter("prmYear", this.ddlYear.SelectedItem.Text, false);

this.ReportViewer1.LocalReport.SetParameters(new ReportParameter[] { rp, rp2 });

ReportViewer1.LocalReport.Refresh();





#region Hiding XML,MHTML,CSV Document in a Report Viewer
protected void ReportViewer1_PreRender(object sender, EventArgs e)
{
    DisableUnwantedExportFormats(ReportViewer1.LocalReport);
}
public static void DisableUnwantedExportFormats(LocalReport rvServer)
{
    foreach (RenderingExtension extension in rvServer.ListRenderingExtensions())
    {
                //|| extension.Name == "WORD"
     if (extension.Name == "XML" || extension.Name == "MHTML" || extension.Name == "CSV")
     {
           ReflectivelySetVisibilityFalse(extension);
     }
    }
}
public static void ReflectivelySetVisibilityFalse(RenderingExtension extension)
{
   FieldInfo info = extension.GetType().GetField("m_isVisible", BindingFlags.NonPublic | BindingFlags.Instance);
if (info != null)
       {
            info.SetValue(extension, false);
       }
}
#end region