|
|
|
@ -45,7 +45,7 @@ namespace ICSharpCode.Reporting.PageBuilder |
|
|
|
|
|
|
|
|
|
|
|
void BuildDetail() |
|
|
|
void BuildDetail() |
|
|
|
{ |
|
|
|
{ |
|
|
|
List<IExportContainer> rows = new List<IExportContainer>(); |
|
|
|
var rows = new List<IExportContainer>(); |
|
|
|
var converter = new ContainerConverter(base.Graphics, CurrentLocation); |
|
|
|
var converter = new ContainerConverter(base.Graphics, CurrentLocation); |
|
|
|
|
|
|
|
|
|
|
|
var position = DetailStart; |
|
|
|
var position = DetailStart; |
|
|
|
@ -55,18 +55,16 @@ namespace ICSharpCode.Reporting.PageBuilder |
|
|
|
if(collectionSource.Count > 0) { |
|
|
|
if(collectionSource.Count > 0) { |
|
|
|
collectionSource.Bind(); |
|
|
|
collectionSource.Bind(); |
|
|
|
CurrentLocation = DetailStart; |
|
|
|
CurrentLocation = DetailStart; |
|
|
|
|
|
|
|
|
|
|
|
do { |
|
|
|
do { |
|
|
|
var row = CreateContainerForSection(position); |
|
|
|
var row = CreateContainerForSection(position); |
|
|
|
row.Parent = CurrentPage; |
|
|
|
row.Parent = CurrentPage; |
|
|
|
collectionSource.Fill(CurrentSection.Items); |
|
|
|
collectionSource.Fill(CurrentSection.Items); |
|
|
|
var convertedItems = converter.CreateConvertedList(ReportModel.DetailSection.Items); |
|
|
|
var convertedItems = converter.CreateConvertedList(ReportModel.DetailSection.Items); |
|
|
|
converter.SetParent(row,convertedItems); |
|
|
|
converter.SetParent(row,convertedItems); |
|
|
|
MeasureAndArrangeContainer(row); |
|
|
|
MeasureAndArrangeContainer(row); |
|
|
|
// if (PageFull(convertedItems)) {
|
|
|
|
|
|
|
|
if (PageFull(row)) { |
|
|
|
if (PageFull(row)) { |
|
|
|
row.ExportedItems.AddRange(convertedItems); |
|
|
|
|
|
|
|
rows.Add(row); |
|
|
|
|
|
|
|
InsertRange(rows); |
|
|
|
InsertRange(rows); |
|
|
|
MeasureAndArrangeContainer(row); |
|
|
|
MeasureAndArrangeContainer(row); |
|
|
|
rows.Clear(); |
|
|
|
rows.Clear(); |
|
|
|
@ -77,20 +75,18 @@ MeasureAndArrangeContainer(row); |
|
|
|
CurrentPage = CreateNewPage(); |
|
|
|
CurrentPage = CreateNewPage(); |
|
|
|
WriteStandardSections(); |
|
|
|
WriteStandardSections(); |
|
|
|
CurrentLocation = DetailStart; |
|
|
|
CurrentLocation = DetailStart; |
|
|
|
} else { |
|
|
|
|
|
|
|
row.ExportedItems.AddRange(convertedItems); |
|
|
|
position = DetailStart; |
|
|
|
rows.Add(row); |
|
|
|
row.Location = position; |
|
|
|
// MeasureAndArrangeContainer(row);
|
|
|
|
|
|
|
|
position = new Point(CurrentSection.Location.X,position.Y + row.DesiredSize.Height + 5); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
row.ExportedItems.AddRange(convertedItems); |
|
|
|
|
|
|
|
rows.Add(row); |
|
|
|
|
|
|
|
position = new Point(CurrentSection.Location.X,position.Y + row.DesiredSize.Height + 1); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
while (collectionSource.MoveNext()); |
|
|
|
while (collectionSource.MoveNext()); |
|
|
|
InsertRange(rows); |
|
|
|
InsertRange(rows); |
|
|
|
|
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
// detail = CreateContainerForSection(DetailStart);
|
|
|
|
|
|
|
|
// InsertDetailAtPosition(detail);
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|