| private void groupHeader2_ItemDataBinding(object sender, EventArgs e) |
| { |
| Telerik.Reporting.Processing.GroupSection headerAgent = (Telerik.Reporting.Processing.GroupSection)sender; |
| LinqEntityBaseLoan.ComAPayer com = headerAgent.DataObject.RawData as LinqEntityBaseLoan.ComAPayer; |
| headerAgent.Visible = com.Agent_ID != com.SuperAgent_ID; |
| if (headerAgent.Visible) |
| this.groupHeaderAgent.PageBreak = PageBreak.Before; |
| else |
| this.groupHeaderAgent.PageBreak = PageBreak.None; |
| } |
but the result is that in the next printed header, the page break will occur.
I try to change to headerAgent.PageBreak = PageBreak.Before but PageBreak is readonly. It seems that the ..Engine.ReportSection is created before Report.ReportSection (it is normal) and can not be changed (but visible can be !).
After a long search, i created a fake group :
groupheader1
groupheader2fake
groupheader2
detail
groupfooter2
groupfooter2fake
groupfooter1
And write the event groupHeader2fake_ItemDataBinding.
Is it normal to proceed like this ? A settable Break Page or an event before the creation of Engine.ReportSection can be usefull !
For ThisOne As Integer = 0 To 4
Me.Chart1.Series(ThisOne).Name = Me.ReportParameters("DataTitle" + (ThisOne + 1).ToString).Value
Me.Chart1.Series(ThisOne).Appearance.LabelAppearance.LabelLocation = Charting.Styles.StyleSeriesItemLabel.ItemLabelLocation.Inside
Me.Chart1.Series(ThisOne).Appearance.LabelAppearance.Position.AlignedPosition = Charting.Styles.AlignedPositions.Center
Me.Chart1.Series(ThisOne).Appearance.TextAppearance.TextProperties.Color = Color.Black
Me.Chart1.Series(ThisOne).Appearance.Shadow.Blur = 4
Me.Chart1.Series(ThisOne).Appearance.Shadow.Distance = 2
Me.Chart1.Series(ThisOne).Appearance.Shadow.Position = Charting.Styles.ShadowPosition.BottomRight
Me.Chart1.Series(ThisOne).DefaultLabelValue = "#%"
Next
private void detail_ItemDataBound(object sender, EventArgs e){ Telerik.Reporting.Processing.DetailSection detail = (Telerik.Reporting.Processing.DetailSection)sender; Telerik.Reporting.Processing.TextBox txtHierarchicalEntityID = (Telerik.Reporting.Processing.TextBox)detail.ChildElements.Find("txtHierarchicalEntityID", true)[0]; Telerik.Reporting.Processing.Table tblReport = (Telerik.Reporting.Processing.Table)detail.ChildElements.Find("tblReport", true)[0]; int hierarchicalEntityID = Convert.ToInt32(txtHierarchicalEntityID.Text); dsReporting dsBindingData = new dsReporting(); foreach (dsReporting.AssessmentResultsChartRow currRow in dsRaw.AssessmentResultsChart.Rows) if ((int)currRow["HierarchicalEntityID"] == hierarchicalEntityID) dsBindingData.AssessmentResultsChart.ImportRow(currRow); dsBindingData.AcceptChanges(); tblReport.DataSource = dsBindingData.AssessmentResultsChart;}