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 @@ @@ -327,12 +327,6 @@
<Compile Include="Project\Exporter\ExportColumns\ExportText.cs" />
<Compile Include="Project\Exporter\ExportColumns\IExportColumnBuilder .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\Decorators\TextStyleDecorator.cs" />
<Compile Include="Project\Exporter\Decorators\GraphicStyleDecorator.cs" />
@ -344,6 +338,12 @@ @@ -344,6 +338,12 @@
<Compile Include="Project\Exporter\ExportRenderer\BaseExportRenderer.cs" />
<Compile Include="Project\Exporter\ExportRenderer\PreviewRenderer.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\MycroParser.cs" />
<Compile Include="Project\Xml\MycroWriter.cs" />
@ -354,8 +354,7 @@ @@ -354,8 +354,7 @@
<DependentUpon>ParameterDialog.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Project\ReportViewer\ReportViewer.resx">
<DependentUpon>ReportViewer.Designer.cs</DependentUpon>
<Generator>ResXFileCodeGenerator</Generator>
<DependentUpon>ReportViewer.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Project\Resources\CoreResource.resx" />
<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 @@ -106,7 +106,8 @@ namespace ICSharpCode.Reports.Core.BaseClasses.Printing
canGrowShrinkCollection.First().Size.Width,
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);
elemToLayout.Size = new Size(elemToLayout.Size.Width,textSize.Height);
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 @@ -92,28 +92,49 @@ namespace ICSharpCode.Reports.Core.Exporter
PrintHelper.AdjustParent((BaseSection)section,section.Items);
ExporterCollection list = new ExporterCollection();
var list = new ExporterCollection();
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);
Setlayout( desiredRectangle, section);
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);
ExporterCollection clist = StandardPrinter.ConvertPlainCollection(container.Items,exportContainer.StyleDecorator.Location);
if (simpleContainer != null)
{
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);
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 {
list = StandardPrinter.ConvertPlainCollection(section.Items,offset);
}
@ -273,8 +294,6 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -273,8 +294,6 @@ namespace ICSharpCode.Reports.Core.Exporter
protected Graphics Graphics {get; private set;}
//public ILayouter Layouter {get; private set;}
public IReportModel ReportModel {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 @@ -82,9 +82,9 @@ namespace ICSharpCode.Reports.Core.Exporter
IDataNavigator childNavigator = base.DataNavigator.GetChildNavigator;
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);
Console.WriteLine("Header end {0}",base.CurrentPosition);
//Console.WriteLine("Header end {0}",base.CurrentPosition);
section.Size = base.RestoreSectionSize;
section.Items[0].Size = groupSize;
section.Items[1].Size = childSize;
@ -95,7 +95,7 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -95,7 +95,7 @@ namespace ICSharpCode.Reports.Core.Exporter
//Convert children
if (childNavigator != null) {
StandardPrinter.AdjustBackColor(simpleContainer,GlobalValues.DefaultBackColor);
Console.WriteLine("child start {0}",base.CurrentPosition);
//Console.WriteLine("child start {0}",base.CurrentPosition);
do
{
section.Size = base.RestoreSectionSize;
@ -109,7 +109,7 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -109,7 +109,7 @@ namespace ICSharpCode.Reports.Core.Exporter
CheckForPageBreak(section,exporterCollection);
}
while ( childNavigator.MoveNext());
Console.WriteLine("child end {0}",base.CurrentPosition);
//Console.WriteLine("child end {0}",base.CurrentPosition);
// GroupFooter
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; @@ -7,6 +7,7 @@ using ICSharpCode.Reports.Core.BaseClasses.Printing;
using ICSharpCode.Reports.Core.Events;
using ICSharpCode.Reports.Core.Globals;
using ICSharpCode.Reports.Core.Interfaces;
using ICSharpCode.Reports.Expressions.ReportingLanguage;
namespace ICSharpCode.Reports.Core.Exporter
{
@ -77,6 +78,7 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -77,6 +78,7 @@ namespace ICSharpCode.Reports.Core.Exporter
protected override void BuildPageHeader ()
{
base.ReportModel.PageHeader.SectionOffset = base.AdjustPageHeader();
ExporterCollection convertedList = base.ConvertSection (base.ReportModel.PageHeader,this.dataNavigator.CurrentRow);
base.SectionBounds.MeasurePageHeader(base.ReportModel.PageHeader);
base.SinglePage.Items.AddRange(convertedList);
@ -186,6 +188,7 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -186,6 +188,7 @@ namespace ICSharpCode.Reports.Core.Exporter
{
this.dataNavigator = this.dataManager.GetNavigator;
this.BuildNewPage();
this.SinglePage.IDataNavigator = this.dataNavigator;
this.dataNavigator.MoveNext();
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 @@ -31,9 +31,11 @@ namespace ICSharpCode.Reports.Expressions.ReportingLanguage
throw new ArgumentNullException("singlePage");
}
/*
if (dataNavigator == null) {
throw new ArgumentNullException("dataNavigator");
}
* */
singlePage.IDataNavigator = dataNavigator;
IExpressionEvaluatorFacade evaluatorFacade = new ExpressionEvaluatorFacade(singlePage);
return evaluatorFacade;

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

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

Loading…
Cancel
Save