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;
}
private
void
chart1_NeedDataSource(
object
sender, EventArgs e)
{
Telerik.Reporting.Processing.Chart procChart = sender
as
Telerik.Reporting.Processing.Chart;
string
sql = @"SELECT COUNT(l.[LookupID])
as
'AUSStatusCnt'
,l.[ClientLookupValue]
as
'AUSStatus'
FROM [AUS] a
INNER JOIN [Organization] o ON a.[OrganizationID]=o.[OrganizationID]
INNER JOIN [Lookup] l ON l.[LookupID] = a.[AUSStatusID]
where a.[AUSID]
in
([dbo].[udf_GetLastAUSStatus](a.[AUSParentID]))
AND a.[OrganizationID]=@OrganizationID AND l.[LookupTypeID]=13
and l.[Active]=1
AND a.[UpdatedByDate] >= DATEADD(d,-90,GETDATE())
GROUP BY l.ClientLookupValue,l.LookupID";
SqlConnection sqlCnn =
new
SqlConnection();
sqlCnn.ConnectionString = ConfigurationManager.ConnectionStrings[
"appConnString"
].ConnectionString;
try
{
DataSet ds =
new
DataSet();
SqlCommand sqlCmd =
new
SqlCommand(sql,sqlCnn);
sqlCmd.Parameters.Add(
"@OrganizationID"
,SqlDbType.Int);
sqlCmd.Parameters[
"@OrganizationID"
].Value =
int
.Parse(Report.ReportParameters[
"OrganizationID"
].Value.ToString());
SqlDataAdapter adapter =
new
SqlDataAdapter(sqlCmd);
adapter.Fill(ds);
procChart.DataSource = ds;
chart1.Series[0].DataLabelsColumn =
"AUSStatusCnt"
;
chart1.Series[0].DataYColumn =
"AUSStatusCnt"
;
chart1.Legend.Visible =
false
;
chart1.PlotArea.XAxis.DataLabelsColumn =
"AUSStatus"
;
chart1.PlotArea.XAxis.Appearance.LabelAppearance.RotationAngle = 0;
chart1.PlotArea.XAxis.Appearance.TextAppearance.TextProperties.Color = System.Drawing.Color.DarkSlateBlue;
chart1.PlotArea.Appearance.Dimensions.Margins.Bottom = Telerik.Reporting.Charting.Styles.Unit.Percentage(20);
chart1.PlotArea.XAxis.Appearance.TextAppearance.TextProperties.Font =
new
System.Drawing.Font(
"Arial"
, 10,FontStyle.Bold);
adapter.Dispose();
sqlCmd.Dispose();
sqlCnn.Close();
}
catch
(Exception ex)
{
MessageBox.Show(
"Error loading report! "
);
}
}