Browse Source

Rows can be used as StackPanel.Orientation=horizontal

pull/15/head^2
Peter Forstmeier 15 years ago
parent
commit
42bf8d4bb4
  1. 15
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj
  2. 3
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/Layouter.cs
  3. 41
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs
  4. 8
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs
  5. 3
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs
  6. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/EvaluationHelper.cs
  7. 6
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs

15
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj

@ -327,12 +327,6 @@
<Compile Include="Project\Exporter\ExportColumns\ExportText.cs" /> <Compile Include="Project\Exporter\ExportColumns\ExportText.cs" />
<Compile Include="Project\Exporter\ExportColumns\IExportColumnBuilder .cs" /> <Compile Include="Project\Exporter\ExportColumns\IExportColumnBuilder .cs" />
<Compile Include="Project\ReportViewer\PageNavigationEventArgs.cs" /> <Compile Include="Project\ReportViewer\PageNavigationEventArgs.cs" />
<Compile Include="Project\ReportViewer\ReportViewer.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Project\ReportViewer\ReportViewer.Designer.cs">
<DependentUpon>Project\ReportViewer.cs</DependentUpon>
</Compile>
<Compile Include="Project\Exporter\ExportColumns\ExportGraphic.cs" /> <Compile Include="Project\Exporter\ExportColumns\ExportGraphic.cs" />
<Compile Include="Project\Exporter\Decorators\TextStyleDecorator.cs" /> <Compile Include="Project\Exporter\Decorators\TextStyleDecorator.cs" />
<Compile Include="Project\Exporter\Decorators\GraphicStyleDecorator.cs" /> <Compile Include="Project\Exporter\Decorators\GraphicStyleDecorator.cs" />
@ -344,6 +338,12 @@
<Compile Include="Project\Exporter\ExportRenderer\BaseExportRenderer.cs" /> <Compile Include="Project\Exporter\ExportRenderer\BaseExportRenderer.cs" />
<Compile Include="Project\Exporter\ExportRenderer\PreviewRenderer.cs" /> <Compile Include="Project\Exporter\ExportRenderer\PreviewRenderer.cs" />
<Compile Include="Project\Exporter\ExportRenderer\PrintRenderer.cs" /> <Compile Include="Project\Exporter\ExportRenderer\PrintRenderer.cs" />
<Compile Include="Project\ReportViewer\ReportViewer.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Project\ReportViewer\ReportViewer.designer.cs">
<DependentUpon>ReportViewer.cs</DependentUpon>
</Compile>
<Compile Include="Project\Xml\BaseItemLoader.cs" /> <Compile Include="Project\Xml\BaseItemLoader.cs" />
<Compile Include="Project\Xml\MycroParser.cs" /> <Compile Include="Project\Xml\MycroParser.cs" />
<Compile Include="Project\Xml\MycroWriter.cs" /> <Compile Include="Project\Xml\MycroWriter.cs" />
@ -354,8 +354,7 @@
<DependentUpon>ParameterDialog.cs</DependentUpon> <DependentUpon>ParameterDialog.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="Project\ReportViewer\ReportViewer.resx"> <EmbeddedResource Include="Project\ReportViewer\ReportViewer.resx">
<DependentUpon>ReportViewer.Designer.cs</DependentUpon> <DependentUpon>ReportViewer.cs</DependentUpon>
<Generator>ResXFileCodeGenerator</Generator>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="Project\Resources\CoreResource.resx" /> <EmbeddedResource Include="Project\Resources\CoreResource.resx" />
<None Include="Project\Expressions\SimpleExpressionEvaluator\Parser\SimpleExpressionLanguage.tpg" /> <None Include="Project\Expressions\SimpleExpressionEvaluator\Parser\SimpleExpressionLanguage.tpg" />

3
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/Layouter.cs

@ -106,7 +106,8 @@ namespace ICSharpCode.Reports.Core.BaseClasses.Printing
canGrowShrinkCollection.First().Size.Width, canGrowShrinkCollection.First().Size.Width,
canGrowShrinkCollection.First().Size.Height); canGrowShrinkCollection.First().Size.Height);
foreach (BaseReportItem elemToLayout in canGrowShrinkCollection) { foreach (BaseTextItem elemToLayout in canGrowShrinkCollection) {
Console.WriteLine("ELEMTEXT {0}",elemToLayout.Text);
Size textSize = MeasurementService.MeasureReportItem (graphics,elemToLayout); Size textSize = MeasurementService.MeasureReportItem (graphics,elemToLayout);
elemToLayout.Size = new Size(elemToLayout.Size.Width,textSize.Height); elemToLayout.Size = new Size(elemToLayout.Size.Width,textSize.Height);
rec = Rectangle.Union(rec,new Rectangle(elemToLayout.Location,elemToLayout.Size)); rec = Rectangle.Union(rec,new Rectangle(elemToLayout.Location,elemToLayout.Size));

41
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs

@ -92,28 +92,49 @@ namespace ICSharpCode.Reports.Core.Exporter
PrintHelper.AdjustParent((BaseSection)section,section.Items); PrintHelper.AdjustParent((BaseSection)section,section.Items);
ExporterCollection list = new ExporterCollection(); var list = new ExporterCollection();
if (section.Items.Count > 0) { if (section.Items.Count > 0) {
Point offset = new Point(section.Location.X,section.SectionOffset); section.Items.SortByLocation();
var offset = new Point(section.Location.X,section.SectionOffset);
IExpressionEvaluatorFacade f = EvaluationHelper.CreateEvaluator(this.SinglePage,this.SinglePage.IDataNavigator);
Rectangle desiredRectangle = LayoutHelper.FixSectionLayout(this.Graphics,section); Rectangle desiredRectangle = LayoutHelper.FixSectionLayout(this.Graphics,section);
Setlayout( desiredRectangle, section); Setlayout( desiredRectangle, section);
foreach (BaseReportItem item in section.Items) { foreach (BaseReportItem item in section.Items) {
ISimpleContainer container = item as ISimpleContainer; ISimpleContainer simpleContainer = item as ISimpleContainer;
if (container != null) {
ExportContainer exportContainer = StandardPrinter.ConvertToContainer(container,offset); if (simpleContainer != null)
{
ExporterCollection clist = StandardPrinter.ConvertPlainCollection(container.Items,exportContainer.StyleDecorator.Location); foreach (BaseTextItem v in simpleContainer.Items)
{
string ss = f.Evaluate(v.Text);
v.Text = ss;
}
Size s = simpleContainer.Size;
var l = (ILayouter)ServiceContainer.GetService(typeof(ILayouter));
LayoutHelper.SetLayoutForRow(Graphics,l, simpleContainer);
ExportContainer exportContainer = StandardPrinter.ConvertToContainer(simpleContainer,offset);
s = simpleContainer.Size;
ExporterCollection clist = StandardPrinter.ConvertPlainCollection(simpleContainer.Items,exportContainer.StyleDecorator.Location);
exportContainer.Items.AddRange(clist); exportContainer.Items.AddRange(clist);
list.Add(exportContainer); list.Add(exportContainer);
offset = new Point(offset.X,offset.Y + simpleContainer.Size.Height + 4* GlobalValues.GapBetweenContainer);
foreach (ExportText VARIABLE in clist)
{
Console.WriteLine("{0} - {1}",VARIABLE.Text,VARIABLE.StyleDecorator.Location);
}
Console.WriteLine(".......");
} else { } else {
list = StandardPrinter.ConvertPlainCollection(section.Items,offset); list = StandardPrinter.ConvertPlainCollection(section.Items,offset);
} }
@ -273,8 +294,6 @@ namespace ICSharpCode.Reports.Core.Exporter
protected Graphics Graphics {get; private set;} protected Graphics Graphics {get; private set;}
//public ILayouter Layouter {get; private set;}
public IReportModel ReportModel {get;set;} public IReportModel ReportModel {get;set;}
protected ExporterPage SinglePage {get;set;} protected ExporterPage SinglePage {get;set;}

8
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs

@ -82,9 +82,9 @@ namespace ICSharpCode.Reports.Core.Exporter
IDataNavigator childNavigator = base.DataNavigator.GetChildNavigator; IDataNavigator childNavigator = base.DataNavigator.GetChildNavigator;
base.Evaluator.SinglePage.IDataNavigator = childNavigator; base.Evaluator.SinglePage.IDataNavigator = childNavigator;
Console.WriteLine("Header start {0}",base.CurrentPosition); //Console.WriteLine("Header start {0}",base.CurrentPosition);
base.CurrentPosition = ConvertGroupHeader(exporterCollection,section,base.CurrentPosition); base.CurrentPosition = ConvertGroupHeader(exporterCollection,section,base.CurrentPosition);
Console.WriteLine("Header end {0}",base.CurrentPosition); //Console.WriteLine("Header end {0}",base.CurrentPosition);
section.Size = base.RestoreSectionSize; section.Size = base.RestoreSectionSize;
section.Items[0].Size = groupSize; section.Items[0].Size = groupSize;
section.Items[1].Size = childSize; section.Items[1].Size = childSize;
@ -95,7 +95,7 @@ namespace ICSharpCode.Reports.Core.Exporter
//Convert children //Convert children
if (childNavigator != null) { if (childNavigator != null) {
StandardPrinter.AdjustBackColor(simpleContainer,GlobalValues.DefaultBackColor); StandardPrinter.AdjustBackColor(simpleContainer,GlobalValues.DefaultBackColor);
Console.WriteLine("child start {0}",base.CurrentPosition); //Console.WriteLine("child start {0}",base.CurrentPosition);
do do
{ {
section.Size = base.RestoreSectionSize; section.Size = base.RestoreSectionSize;
@ -109,7 +109,7 @@ namespace ICSharpCode.Reports.Core.Exporter
CheckForPageBreak(section,exporterCollection); CheckForPageBreak(section,exporterCollection);
} }
while ( childNavigator.MoveNext()); while ( childNavigator.MoveNext());
Console.WriteLine("child end {0}",base.CurrentPosition); //Console.WriteLine("child end {0}",base.CurrentPosition);
// GroupFooter // GroupFooter
base.ConvertGroupFooter(section,exporterCollection); base.ConvertGroupFooter(section,exporterCollection);

3
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/DataPageBuilder.cs

@ -7,6 +7,7 @@ using ICSharpCode.Reports.Core.BaseClasses.Printing;
using ICSharpCode.Reports.Core.Events; using ICSharpCode.Reports.Core.Events;
using ICSharpCode.Reports.Core.Globals; using ICSharpCode.Reports.Core.Globals;
using ICSharpCode.Reports.Core.Interfaces; using ICSharpCode.Reports.Core.Interfaces;
using ICSharpCode.Reports.Expressions.ReportingLanguage;
namespace ICSharpCode.Reports.Core.Exporter namespace ICSharpCode.Reports.Core.Exporter
{ {
@ -77,6 +78,7 @@ namespace ICSharpCode.Reports.Core.Exporter
protected override void BuildPageHeader () protected override void BuildPageHeader ()
{ {
base.ReportModel.PageHeader.SectionOffset = base.AdjustPageHeader(); base.ReportModel.PageHeader.SectionOffset = base.AdjustPageHeader();
ExporterCollection convertedList = base.ConvertSection (base.ReportModel.PageHeader,this.dataNavigator.CurrentRow); ExporterCollection convertedList = base.ConvertSection (base.ReportModel.PageHeader,this.dataNavigator.CurrentRow);
base.SectionBounds.MeasurePageHeader(base.ReportModel.PageHeader); base.SectionBounds.MeasurePageHeader(base.ReportModel.PageHeader);
base.SinglePage.Items.AddRange(convertedList); base.SinglePage.Items.AddRange(convertedList);
@ -186,6 +188,7 @@ namespace ICSharpCode.Reports.Core.Exporter
{ {
this.dataNavigator = this.dataManager.GetNavigator; this.dataNavigator = this.dataManager.GetNavigator;
this.BuildNewPage(); this.BuildNewPage();
this.SinglePage.IDataNavigator = this.dataNavigator;
this.dataNavigator.MoveNext(); this.dataNavigator.MoveNext();
BaseSection section = base.ReportModel.DetailSection; BaseSection section = base.ReportModel.DetailSection;

2
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Expressions/EvaluationHelper.cs

@ -31,9 +31,11 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage
throw new ArgumentNullException("singlePage"); throw new ArgumentNullException("singlePage");
} }
/*
if (dataNavigator == null) { if (dataNavigator == null) {
throw new ArgumentNullException("dataNavigator"); throw new ArgumentNullException("dataNavigator");
} }
* */
singlePage.IDataNavigator = dataNavigator; singlePage.IDataNavigator = dataNavigator;
IExpressionEvaluatorFacade evaluatorFacade = new ExpressionEvaluatorFacade(singlePage); IExpressionEvaluatorFacade evaluatorFacade = new ExpressionEvaluatorFacade(singlePage);
return evaluatorFacade; return evaluatorFacade;

6
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs

@ -224,7 +224,7 @@ namespace ICSharpCode.Reports.Core.ReportViewer
private void GroupHeaderRendering (object sender, GroupHeaderEventArgs ghea) private void GroupHeaderRendering (object sender, GroupHeaderEventArgs ghea)
{ {
Console.WriteLine("ReportViewer - GroupHeaderRendering :"); // Console.WriteLine("ReportViewer - GroupHeaderRendering :");
// BaseGroupedRow v = ghea.GroupHeader; // BaseGroupedRow v = ghea.GroupHeader;
// v.BackColor = System.Drawing.Color.Red; // v.BackColor = System.Drawing.Color.Red;
} }
@ -233,7 +233,7 @@ namespace ICSharpCode.Reports.Core.ReportViewer
private void GroupFooterRendering ( object sender, GroupFooterEventArgs gfea) private void GroupFooterRendering ( object sender, GroupFooterEventArgs gfea)
{ {
// Console.WriteLine(); // Console.WriteLine();
Console.WriteLine("ReportViewer - GroupFooterRendering :"); // Console.WriteLine("ReportViewer - GroupFooterRendering :");
// var v = gfea.GroupFooter; // var v = gfea.GroupFooter;
// v.BackColor = System.Drawing.Color.Red; // v.BackColor = System.Drawing.Color.Red;
// BaseTextItem i = (BaseTextItem)v.Items[0]; // BaseTextItem i = (BaseTextItem)v.Items[0];
@ -243,7 +243,7 @@ namespace ICSharpCode.Reports.Core.ReportViewer
private void RowRendering (object sender,RowRenderEventArgs rrea) private void RowRendering (object sender,RowRenderEventArgs rrea)
{ {
Console.WriteLine("ReportViewer - RowRendering :"); //Console.WriteLine("ReportViewer - RowRendering :");
} }
#endregion #endregion

Loading…
Cancel
Save