taha suliman

taha suliman

  • 1.4k
  • 368
  • 6.6k

How do I link the main report with the subreport RDLC asp.net Core

Feb 9 2021 10:03 AM
How do I link the main report with the subreport RDLC asp.net Core
 
  1. public IActionResult PrintTwo()  
  2. {  
  3.     var dt = new DataTable();  
  4.     var dtSub = new DataTable();  
  5.   
  6.     DataTable[] dtArray = new DataTable[2];  
  7.   
  8.     dtArray = GetEmployeeList();  
  9.     string mimetype = "";  
  10.     int extension = 1;  
  11.     var path = $"{this._webHostEnvironment.WebRootPath}\\Reports\\ReportRdlcTwo.rdlc";  
  12.     var pathSub = $"{this._webHostEnvironment.WebRootPath}\\Reports\\subReport.rdlc";  
  13.   
  14.     Dictionary<stringstring> parameters = new Dictionary<stringstring>();  
  15.     //Dictionary<string, string> parametersSub = new Dictionary<string, string>();  
  16.   
  17.     parameters.Add("prm""Z. Apple. An apple is just an apple. BMW. The accidental propeller. Chupa");  
  18.     //parametersSub.Add("subReportParameter", "0");  
  19.   
  20.     LocalReport localReport = new LocalReport(path);  
  21.     LocalReport localReportSub = new LocalReport(pathSub);  
  22.   
  23.     localReport.AddDataSource("DataSetContact", dtArray[0]);  
  24.     localReportSub.AddDataSource("DataSetSub", dtArray[1]);  
  25.     //localReport.AddDataSource("DataSetContact", dtArray);  
  26.   
  27.   
  28.     dt = dtArray[0];  
  29.     dtSub = dtArray[1];  
  30.     var result = localReport.Execute(RenderType.Pdf, extension, parameters, mimetype);  
  31.     //var result = localReportSub.Execute(RenderType.Pdf, extension, null, mimetype);  
  32.   
  33.     return File(result.MainStream, "application/pdf");  
  34. }  
  35.   
  36. public DataTable[] GetEmployeeList()  
  37. {  
  38.     var dt = new DataTable();  
  39.     DataTable[] dtArray = new DataTable[2];  
  40.     dtArray[0] = new DataTable("DataTable0");  
  41.     dtArray[1] = new DataTable("DataTable1");  
  42.   
  43.     dtArray[0].Columns.Add("EmpId"typeof(Int32));  
  44.     dtArray[0].Columns.Add("EmpName");  
  45.     dtArray[0].Columns.Add("EmpDepart");  
  46.     dtArray[0].Columns.Add("EmpDesignation");  
  47.   
  48.     dtArray[1].Columns.Add("EmpContId"typeof(Int32));  
  49.     dtArray[1].Columns.Add("EmpId"typeof(Int32));  
  50.     dtArray[1].Columns.Add("EmpContMobile");  
  51.     dtArray[1].Columns.Add("EmpContEmail");  
  52.     dtArray[1].Columns.Add("EmpContAddress");  
  53.     dtArray[1].Columns.Add("EmpContCity");  
  54.   
  55.     DataRow row;  
  56.     DataRow rowTwo;  
  57.   
  58.     for (int i = 0;i < 10; i++)  
  59.     {  
  60.         row = dtArray[0].NewRow();  
  61.         row["EmpId"]=i;  
  62.         row["EmpName"]= "Taha Suliman Ramadan" + i.ToString();  
  63.         row["EmpDepart"]= "Accounting DeprtMemt" + i.ToString();  
  64.         row["EmpDesignation"]= "SoftWare Engineer" + i.ToString();  
  65.         dtArray[0].Rows.Add(row);  
  66.         //------------------------------  
  67.         for (int j = 0; j < 5; j++)  
  68.         {  
  69.             int x = i * 5 + j;  
  70.             rowTwo = dtArray[1].NewRow();  
  71.             rowTwo["EmpContId"] = x;  
  72.             rowTwo["EmpId"] = i;  
  73.             rowTwo["EmpContMobile"] = "00971523215230";  
  74.             rowTwo["EmpContEmail"] = "[email protected]" + j.ToString();  
  75.             rowTwo["EmpContAddress"] = "Sharjah Gasimiya Mahata" + j.ToString();  
  76.             rowTwo["EmpContCity"] = "United Emarate Sharjah" + j.ToString();  
  77.             dtArray[1].Rows.Add(rowTwo);  
  78.         }  
  79.   
  80.     }  
  81.     return dtArray;  

 

Answers (6)