private List<DataSet> GetDataSetForReport(IReportFilter filter, ReportDocument report) { List<DataSet> data = new List<DataSet>(); //Set DataSet cho Main Report DataSet ds = filter.getDataSet(); if (showEmptyReport == false) { if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0) { HelpMsgBox.ShowNotificationMessage("Không tìm thấy dữ liệu báo cáo."); return null; } } data.Add(ds); for (int i = 0; i < ds.Tables.Count; i++) { report.Database.Tables[i].SetDataSource(ds.Tables[i]); } //Set DataSet cho SubReport DataSet[] dsArray = filter.getSubReports(); if (dsArray != null) { for (int i = 0; i < dsArray.Length; i++) { report.Subreports[i].SetDataSource(dsArray[i]); data.Add(dsArray[i]); } } return data; }