private void SetReportDetails(DR_Requester requester, Report report, List <ColumnSizeLocation> columnsSizeLocation) { bool hasSub = ListReportReportDTO.EntityListReportSubs.Any(); var detail = new Telerik.Reporting.DetailSection(); detail.Height = Telerik.Reporting.Drawing.Unit.Cm(0.5); detail.Name = "detail"; ReportStyles.SetReportDetailStyle(detail.Style); report.Items.Add(detail); Panel panel = new Panel(); panel.Width = reportWidth; ReportStyles.SetDetailPanelStyle(panel.Style, hasSub); detail.Items.Add(panel); //سکوریتی بروی ستوها اعمال شود var columns = ListReportReportDTO.EntityListView.EntityListViewAllColumns; int index = 0; foreach (var column in columns) { if (ListReportReportDTO.ReportGroups != null) { if (ListReportReportDTO.ReportGroups.Any(x => x.ListViewColumnID == column.ID)) { continue; } } var columnTextbox = new TextBox(); columnTextbox.CanGrow = false; columnTextbox.Name = column.Column.Name; ReportStyles.SetDetailTextboxStyle(columnTextbox.Style); var columnSizeLocation = columnsSizeLocation.First(x => x.LictViewColumnID == column.ID); columnTextbox.Width = columnSizeLocation.Width; columnTextbox.Location = new PointU(columnSizeLocation.XLocation - Unit.Cm(0.0), Unit.Cm(0)); columnTextbox.Height = detail.Height; //var columnName = ""; //if (column.RelationshipTailID == 0) //{ // columnName = column.Column.Name + "0";// + "'"; //} //else //{ //} columnTextbox.Value = string.Format("= Fields.{0}", column.RelativeColumnName); panel.Items.Add(columnTextbox); index++; } int subIndex = 0; foreach (var subDTO in ListReportReportDTO.EntityListReportSubs) { if (CheckSubReportIsRepeated(subDTO)) { continue; } SubReport subReport = new SubReport(); subReport.Width = reportWidth; subReport.Top = detail.Height + Unit.Cm(subIndex * 0.5); subIndex++; RR_ReportSourceRequest newrequest = new RR_ReportSourceRequest(Request.Requester); newrequest.Identity = Request.Identity; newrequest.Name = Request.Name; var tail = bizEntityRelationshipTail.GetEntityRelationshipTail(requester, subDTO.EntityRelationshipTailID); newrequest.SearchDataItems = new DP_SearchRepository(tail.TargetEntityID); var entityListReport = bizEntityListReport.GetEntityListReport(requester, subDTO.EntityListReportID, true); newrequest.ReportID = entityListReport.ID; Unit SubReportWidth = reportWidth - Unit.Cm(1); // var relationshipTail = bizEntityRelationshipTail.GetEntityRelationshipTail(subDTO.EntityRelationshipTailID); ListReportResolver listReportResolver = new ListReportResolver(entityListReport, newrequest, SubReportWidth, this, subDTO, ReportLevel + 1); var subListReportSource = listReportResolver.GetListReport(requester); subReport.ReportSource = subListReportSource; subReport.Left = Unit.Cm(0.5); ReportStyles.SetSubreportStyle(subReport.Style); foreach (var relColumn in subDTO.SubsColumnsDTO) { var parameter = new Parameter(); parameter.Name = relColumn.ParentEntityListViewColumnRelativeName; parameter.Value = string.Format("= Fields.{0}", relColumn.ParentEntityListViewColumnRelativeName); subReport.Parameters.Add(parameter); } detail.Items.Add(subReport); } }