Browse Source

Add Container to Detail if no one exist

reports
Peter Forstmeier 12 years ago
parent
commit
cd93c5806d
  1. 1
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Exporter/Visitors/WpfVisitor.cs
  2. 11
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Exporter/WpfExporter.cs
  3. 3
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/Converter/ContainerConverter.cs
  4. 9
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/DataPageBuilder.cs

1
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Exporter/Visitors/WpfVisitor.cs

@ -42,6 +42,7 @@ namespace ICSharpCode.Reporting.Exporter.Visitors @@ -42,6 +42,7 @@ namespace ICSharpCode.Reporting.Exporter.Visitors
public override void Visit(ExportContainer exportColumn)
{
var canvas = (Canvas)documentCreator.CreateContainer(exportColumn);
CanvasHelper.SetPosition(canvas,new Point(exportColumn.Location.X,exportColumn.Location.Y));
UIElement = canvas;
}

11
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Exporter/WpfExporter.cs

@ -68,7 +68,8 @@ namespace ICSharpCode.Reporting.Exporter @@ -68,7 +68,8 @@ namespace ICSharpCode.Reporting.Exporter
if (exportContainer != null) {
if (exportContainer.Name =="ReportDetail") {
Console.WriteLine(item.Name);
Console.WriteLine("Section {0}",item.Name);
exportContainer.BackColor = System.Drawing.Color.LightBlue;
}
if (exportContainer.Name == "Row") {
@ -78,7 +79,7 @@ namespace ICSharpCode.Reporting.Exporter @@ -78,7 +79,7 @@ namespace ICSharpCode.Reporting.Exporter
if (parentCanvas == null) {
containerCanvas = CreateContainer(fixedPage,exportContainer);
Console.WriteLine("Section {0} at {1}",item.Name,CanvasHelper.GetPosition(containerCanvas));
Console.WriteLine("Section {0} at {1} size {2}",item.Name,CanvasHelper.GetPosition(containerCanvas),containerCanvas.DesiredSize);
fixedPage.Children.Add(containerCanvas);
parentCanvas = containerCanvas;
} else {
@ -87,7 +88,7 @@ namespace ICSharpCode.Reporting.Exporter @@ -87,7 +88,7 @@ namespace ICSharpCode.Reporting.Exporter
parentCanvas.Children.Add(containerCanvas);
}
Console.WriteLine("canvas at {0}",CanvasHelper.GetPosition(containerCanvas));
// Console.WriteLine("canvas at {0}",CanvasHelper.GetPosition(containerCanvas));
foreach (var element in exportContainer.ExportedItems) {
@ -95,7 +96,7 @@ namespace ICSharpCode.Reporting.Exporter @@ -95,7 +96,7 @@ namespace ICSharpCode.Reporting.Exporter
var singleItem = CreateSingleEntry(containerCanvas,element);
Console.WriteLine("TEST {0} - {1}",CanvasHelper.GetPosition(singleItem),CanvasHelper.GetPosition(containerCanvas));
// Console.WriteLine("TEST {0} - {1}",CanvasHelper.GetPosition(singleItem),CanvasHelper.GetPosition(containerCanvas));
containerCanvas.Children.Add(singleItem);
}
ShowContainerRecursive(parentCanvas,element);
@ -127,7 +128,7 @@ namespace ICSharpCode.Reporting.Exporter @@ -127,7 +128,7 @@ namespace ICSharpCode.Reporting.Exporter
v.Accept(visitor);
var c = visitor.UIElement;
Console.WriteLine("CreateSingleEntry after {0}",CanvasHelper.GetPosition(c));
// Console.WriteLine("CreateSingleEntry after {0}",CanvasHelper.GetPosition(c));
return c;
}

3
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/Converter/ContainerConverter.cs

@ -62,9 +62,6 @@ Console.WriteLine("CreateConvertedList {0}",reportContainer.Name); @@ -62,9 +62,6 @@ Console.WriteLine("CreateConvertedList {0}",reportContainer.Name);
foreach (var element in reportContainer.Items) {
var exportColumn = ExportColumnFactory.CreateItem(element);
exportColumn.Parent = exportContainer;
// exportColumn.Location = new Point(element.Location.X,element.Location.Y + exportContainer.Location.Y);
// exportColumn.Location = new Point(element.Location.X,element.Location.Y + position.Y);
// exportColumn.DesiredSize = Measure(exportColumn);
itemsList.Add(exportColumn);
}
return itemsList;

9
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/DataPageBuilder.cs

@ -172,21 +172,21 @@ namespace ICSharpCode.Reporting.PageBuilder @@ -172,21 +172,21 @@ namespace ICSharpCode.Reporting.PageBuilder
void BuildDetail()
{
var converter = new ContainerConverter(base.Graphics, CurrentLocation);
var position = DetailStart;
CurrentSection = ReportModel.DetailSection;
// var position = DetailStart;
var position = new Point(DetailStart.X,1);
var collectionSource = new CollectionSource(List,ElementType,ReportModel.ReportSettings);
CurrentSection = ReportModel.DetailSection;
IExportContainer detail = null;
if(collectionSource.Count > 0) {
collectionSource.Bind();
detail = CreateDetail(DetailStart);
do {
var row = CreateContainerIfNotExist(CurrentSection,detail, position);
collectionSource.Fill(CurrentSection.Items);
var convertedItems = converter.CreateConvertedList(ReportModel.DetailSection,row);
MeasureAndArrangeContainer(converter,row);
@ -241,6 +241,7 @@ namespace ICSharpCode.Reporting.PageBuilder @@ -241,6 +241,7 @@ namespace ICSharpCode.Reporting.PageBuilder
{
var detail = CreateContainerForSection(startLocation);
detail.Parent = CurrentPage;
detail.DesiredSize = new Size(detail.Size.Width,DetailEnds.Y - DetailStart.Y);
return detail;
}

Loading…
Cancel
Save