private void SetDataSource(ReportDocument Report) { Int64 iID = 0; try { if (Request.QueryString["task"].ToString().ToLower() == "reportfromposted" && Request.QueryString["retid"].ToString() != null) { iID = Convert.ToInt64(Request.QueryString["retid"].ToString()); } else { iID = Convert.ToInt64(Common.Decrypt(Request.QueryString["retid"].ToString(), Session.SessionID)); } lblReferrer.ToolTip = iID.ToString(); } catch { iID = long.Parse(lblReferrer.ToolTip); } ReportDataset rptds = new ReportDataset(); POReturns clsPOReturns = new POReturns(); System.Data.DataTable dt = clsPOReturns.ListAsDataTable(DebitMemoID: iID); POReturnItems clsPOReturnItems = new POReturnItems(clsPOReturns.Connection, clsPOReturns.Transaction); System.Data.DataTable dtitems = clsPOReturnItems.ListAsDataTable(iID); clsPOReturns.CommitAndDispose(); foreach(System.Data.DataRow dr in dt.Rows) { DataRow drNew = rptds.POReturns.NewRow(); foreach (DataColumn dc in rptds.POReturns.Columns) drNew[dc] = dr[dc.ColumnName]; rptds.POReturns.Rows.Add(drNew); } foreach(System.Data.DataRow dr in dtitems.Rows) { DataRow drNew = rptds.POReturnItems.NewRow(); foreach (DataColumn dc in rptds.POReturnItems.Columns) drNew[dc] = dr[dc.ColumnName]; rptds.POReturnItems.Rows.Add(drNew); } Report.SetDataSource(rptds); SetParameters(Report); }