private void SetDataSource(ReportDocument Report) { ReportDataset rptds = new ReportDataset(); DateTime PostingDateFrom = DateTime.MinValue; try { PostingDateFrom = Convert.ToDateTime(txtStartDate.Text + " " + txtStartTime.Text); } catch{} DateTime PostingDateTo = DateTime.MinValue; try { PostingDateTo = Convert.ToDateTime(txtEndDate.Text + " " + txtEndTime.Text); } catch{} System.Data.DataTable dt; string ReportType = cboReportType.SelectedItem.Text; switch (ReportType) { case "Posted PO": Data.PO clsPO = new Data.PO(); dt = clsPO.ListAsDataTable(POStatus.Posted, new Data.PODetails(), Constants.C_DATE_MIN_VALUE, Constants.C_DATE_MIN_VALUE, PostingDateFrom, PostingDateTo); clsPO.CommitAndDispose(); foreach(System.Data.DataRow dr in dt.Rows) { DataRow drPO = rptds.PO.NewRow(); foreach (DataColumn dc in rptds.PO.Columns) drPO[dc] = dr[dc.ColumnName]; rptds.PO.Rows.Add(drPO); } break; case "Posted PO Returns": Data.POReturns clsPOReturns = new Data.POReturns(); dt = clsPOReturns.ListAsDataTable(POReturnStatus.Posted, PostingStartDate: PostingDateFrom, PostingEndDate: PostingDateTo); clsPOReturns.CommitAndDispose(); foreach(System.Data.DataRow dr in dt.Rows) { DataRow drPOReturns = rptds.POReturns.NewRow(); foreach (DataColumn dc in rptds.POReturns.Columns) drPOReturns[dc] = dr[dc.ColumnName]; rptds.POReturns.Rows.Add(drPOReturns); } break; case "Posted Debit Memo": Data.DebitMemos clsDebitMemos = new Data.DebitMemos(); dt = clsDebitMemos.ListAsDataTable(DebitMemoStatus.Posted, PostingStartDate: PostingDateFrom, PostingEndDate: PostingDateTo); clsDebitMemos.CommitAndDispose(); foreach(System.Data.DataRow dr in dt.Rows) { DataRow drDebitMemos = rptds.DebitMemo.NewRow(); foreach (DataColumn dc in rptds.DebitMemo.Columns) drDebitMemos[dc] = dr[dc.ColumnName]; rptds.DebitMemo.Rows.Add(drDebitMemos); } break; case "By Vendor": Data.PurchaseAnalysis clsPurchaseAnalysis = new Data.PurchaseAnalysis(); dt = clsPurchaseAnalysis.ByVendor(PostingDateFrom, PostingDateTo); clsPurchaseAnalysis.CommitAndDispose(); foreach(System.Data.DataRow dr in dt.Rows) { DataRow drPAByVendor = rptds.PurchaseAnalysisPerVendor.NewRow(); foreach (DataColumn dc in rptds.PurchaseAnalysisPerVendor.Columns) drPAByVendor[dc] = dr[dc.ColumnName]; rptds.PurchaseAnalysisPerVendor.Rows.Add(drPAByVendor); } break; default: break; } Report.SetDataSource(rptds); SetParameters(Report); }