Browse Source

Grouping

reports
Peter Forstmeier 13 years ago
parent
commit
64c2f0dbf5
  1. 2
      SharpDevelop.Tests.sln
  2. 2
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/DataPageBuilder.cs
  3. 4
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/ICSharpCode.Reporting.Test.csproj
  4. 37
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/Reportingfactory/GroupedPushModel.cs
  5. 18
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/TestHelper.cs
  6. 213
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/TestReports/GroupedList.srd

2
SharpDevelop.Tests.sln

@ -1,7 +1,7 @@
 
Microsoft Visual Studio Solution File, Format Version 11.00 Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010 # Visual Studio 2010
# SharpDevelop 4.3 # SharpDevelop 4.4
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Main", "Main", "{256F5C28-532C-44C0-8AB8-D8EC5E492E01}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Main", "Main", "{256F5C28-532C-44C0-8AB8-D8EC5E492E01}"
ProjectSection(SolutionItems) = postProject ProjectSection(SolutionItems) = postProject
EndProjectSection EndProjectSection

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

@ -76,7 +76,6 @@ namespace ICSharpCode.Reporting.PageBuilder
InsertExportRows(exportRows); InsertExportRows(exportRows);
MeasureAndArrangeContainer(row); MeasureAndArrangeContainer(row);
exportRows.Clear(); exportRows.Clear();
// ExpressionVisitor.Visit(CurrentPage);
CurrentPage.PageInfo.PageNumber = Pages.Count + 1; CurrentPage.PageInfo.PageNumber = Pages.Count + 1;
Pages.Add(CurrentPage); Pages.Add(CurrentPage);
@ -90,7 +89,6 @@ namespace ICSharpCode.Reporting.PageBuilder
} }
row.ExportedItems.AddRange(convertedItems); row.ExportedItems.AddRange(convertedItems);
// ExpressionVisitor.Visit(row as ExportContainer);
exportRows.Add(row); exportRows.Add(row);
position = new Point(CurrentSection.Location.X,position.Y + row.DesiredSize.Height + 1); position = new Point(CurrentSection.Location.X,position.Y + row.DesiredSize.Height + 1);
} }

4
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/ICSharpCode.Reporting.Test.csproj

@ -87,6 +87,7 @@
<Compile Include="src\Properties\AssemblyInfo.cs" /> <Compile Include="src\Properties\AssemblyInfo.cs" />
<Compile Include="src\Reportingfactory\FormPageFixture.cs" /> <Compile Include="src\Reportingfactory\FormPageFixture.cs" />
<Compile Include="src\Reportingfactory\GeneralReportLoading.cs" /> <Compile Include="src\Reportingfactory\GeneralReportLoading.cs" />
<Compile Include="src\Reportingfactory\GroupedPushModel.cs" />
<Compile Include="src\Reportingfactory\PushModelFixture.cs" /> <Compile Include="src\Reportingfactory\PushModelFixture.cs" />
<Compile Include="src\ReportItems\TextItemFixture.cs" /> <Compile Include="src\ReportItems\TextItemFixture.cs" />
<Compile Include="src\TestHelper.cs" /> <Compile Include="src\TestHelper.cs" />
@ -122,5 +123,8 @@
<ItemGroup> <ItemGroup>
<EmbeddedResource Include="src\TestReports\TestForGlobals.srd" /> <EmbeddedResource Include="src\TestReports\TestForGlobals.srd" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<EmbeddedResource Include="src\TestReports\GroupedList.srd" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project> </Project>

37
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/Reportingfactory/GroupedPushModel.cs

@ -0,0 +1,37 @@
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
using System.Reflection;
using ICSharpCode.Reporting.Interfaces;
using ICSharpCode.Reporting.PageBuilder;
using ICSharpCode.Reporting.Test.DataSource;
using NUnit.Framework;
namespace ICSharpCode.Reporting.Test.Reportingfactory
{
[TestFixture]
public class GroupedPushModel
{
IReportCreator reportCreator;
[Test]
public void TestMethod()
{
Assert.That("a",Is.EqualTo("b"));
}
[SetUp]
public void LoadFromStream()
{
var contributorList = new ContributorsList();
var list = contributorList.ContributorCollection;
var asm = Assembly.GetExecutingAssembly();
var stream = asm.GetManifestResourceStream(TestHelper.GroupedList);
var reportingFactory = new ReportingFactory();
var model = reportingFactory.LoadReportModel (stream);
reportCreator = new DataPageBuilder(model,list);
}
}
}

18
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/TestHelper.cs

@ -18,11 +18,12 @@ namespace ICSharpCode.Reporting.Test
/// </summary> /// </summary>
public static class TestHelper public static class TestHelper
{ {
private const string nameSpace = "ICSharpCode.Reporting.Test.src.TestReports."; const string nameSpace = "ICSharpCode.Reporting.Test.src.TestReports.";
private const string plainReportName = "PlainModel.srd"; const string plainReportName = "PlainModel.srd";
private const string withTwoItems = "ReportWithTwoItems.srd"; const string withTwoItems = "ReportWithTwoItems.srd";
private const string fromList = "FromList.srd"; const string fromList = "FromList.srd";
private const string globalsTestReport = "TestForGlobals.srd"; const string groupedList = "GroupedList.srd";
const string globalsTestReport = "TestForGlobals.srd";
public static string PlainReportFileName{ public static string PlainReportFileName{
get{return nameSpace + plainReportName;} get{return nameSpace + plainReportName;}
@ -38,10 +39,16 @@ namespace ICSharpCode.Reporting.Test
get {return nameSpace + fromList;} get {return nameSpace + fromList;}
} }
public static string GroupedList {
get {return nameSpace + groupedList;}
}
public static string TestForGlobals { public static string TestForGlobals {
get {return nameSpace + globalsTestReport;} get {return nameSpace + globalsTestReport;}
} }
public static void ShowDebug(IExportContainer exportContainer) public static void ShowDebug(IExportContainer exportContainer)
{ {
var visitor = new DebugVisitor(); var visitor = new DebugVisitor();
@ -55,7 +62,6 @@ namespace ICSharpCode.Reporting.Test
} }
ShowDebug(container); ShowDebug(container);
} else { } else {
// var b = item as IAcceptor;
if (acceptor != null) { if (acceptor != null) {
acceptor.Accept(visitor); acceptor.Accept(visitor);

213
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/TestReports/GroupedList.srd

@ -0,0 +1,213 @@
<?xml version="1.0" encoding="utf-8"?>
<ReportModel>
<ReportSettings>
<ReportSettings>
<ReportName>Report1</ReportName>
<ReportType>DataReport</ReportType>
<BottomMargin>50</BottomMargin>
<TopMargin>50</TopMargin>
<LeftMargin>50</LeftMargin>
<RightMargin>50</RightMargin>
<PageSize>827, 1169</PageSize>
<Landscape>False</Landscape>
<GraphicsUnit>Millimeter</GraphicsUnit>
<Padding>5, 5, 5, 5</Padding>
<AvailableFieldsCollection />
<SortColumnsCollection />
<GroupColumnsCollection />
<ParameterCollection />
<SqlParameters />
<ConnectionString />
<CommandText />
<CommandType>Text</CommandType>
<DataModel>PushData</DataModel>
<NoDataMessage>No Data for this Report</NoDataMessage>
<DefaultFont>Microsoft Sans Serif, 10pt</DefaultFont>
<UseStandardPrinter>True</UseStandardPrinter>
</ReportSettings>
</ReportSettings>
<SectionCollection>
<BaseSection>
<Location>50, 50</Location>
<Size>727, 60</Size>
<BackColor>White</BackColor>
<SectionOffset>0</SectionOffset>
<SectionMargin>0</SectionMargin>
<DrawBorder>False</DrawBorder>
<PageBreakAfter>False</PageBreakAfter>
<Items>
<BaseTextItem>
<Location>313, 5</Location>
<Size>100, 20</Size>
<BackColor>White</BackColor>
<Font>Microsoft Sans Serif, 10pt</Font>
<StringTrimming>None</StringTrimming>
<ContentAlignment>TopLeft</ContentAlignment>
<CanGrow>False</CanGrow>
<CanShrink>False</CanShrink>
<DataType>System.String</DataType>
<RTL>No</RTL>
<Text>Report1</Text>
<DrawBorder>False</DrawBorder>
<FrameColor>Black</FrameColor>
<ForeColor>Black</ForeColor>
<Name>Report1</Name>
</BaseTextItem>
</Items>
<FrameColor>Black</FrameColor>
<Name>ReportHeader</Name>
</BaseSection>
<BaseSection>
<Location>50, 125</Location>
<Size>727, 60</Size>
<BackColor>White</BackColor>
<SectionOffset>0</SectionOffset>
<SectionMargin>0</SectionMargin>
<DrawBorder>False</DrawBorder>
<PageBreakAfter>False</PageBreakAfter>
<Items />
<FrameColor>Black</FrameColor>
<Name>ReportPageHeader</Name>
</BaseSection>
<BaseSection>
<Location>50, 200</Location>
<Size>727, 100</Size>
<BackColor>LightGray</BackColor>
<SectionOffset>0</SectionOffset>
<SectionMargin>0</SectionMargin>
<DrawBorder>False</DrawBorder>
<PageBreakAfter>False</PageBreakAfter>
<Items>
<GroupHeader>
<Location>38, 20</Location>
<Size>473, 30</Size>
<BackColor>White</BackColor>
<DrawBorder>False</DrawBorder>
<ForeColor>ControlText</ForeColor>
<FrameColor>Black</FrameColor>
<Items>
<BaseDataItem>
<Location>21, 4</Location>
<Size>100, 20</Size>
<BackColor>White</BackColor>
<Font>Segoe UI, 9pt</Font>
<StringTrimming>None</StringTrimming>
<ContentAlignment>TopLeft</ContentAlignment>
<CanGrow>False</CanGrow>
<CanShrink>False</CanShrink>
<RTL>No</RTL>
<Text>BaseDataItem3</Text>
<DrawBorder>False</DrawBorder>
<FrameColor>Black</FrameColor>
<ForeColor>ControlText</ForeColor>
<ColumnName>GoupItem</ColumnName>
<Name>BaseDataItem3</Name>
</BaseDataItem>
</Items>
<AlternateBackColor />
<ChangeBackColorEveryNRow>0</ChangeBackColorEveryNRow>
<PageBreakOnGroupChange>False</PageBreakOnGroupChange>
<Name>GroupHeader1</Name>
</GroupHeader>
<BaseDataItem>
<Location>289, 56</Location>
<Size>100, 20</Size>
<BackColor>White</BackColor>
<Font>Segoe UI, 9pt</Font>
<FormatString>#,##0.00</FormatString>
<StringTrimming>None</StringTrimming>
<ContentAlignment>MiddleRight</ContentAlignment>
<CanGrow>False</CanGrow>
<CanShrink>False</CanShrink>
<DataType>System.Decimal</DataType>
<RTL>No</RTL>
<Text>BaseDataItem2</Text>
<DrawBorder>False</DrawBorder>
<FrameColor>Black</FrameColor>
<ForeColor>ControlText</ForeColor>
<ColumnName>RandomInt</ColumnName>
<Name>BaseDataItem2</Name>
</BaseDataItem>
<BaseDataItem>
<Location>75, 56</Location>
<Size>100, 20</Size>
<BackColor>White</BackColor>
<Font>Microsoft Sans Serif, 10pt</Font>
<StringTrimming>None</StringTrimming>
<ContentAlignment>TopLeft</ContentAlignment>
<CanGrow>False</CanGrow>
<CanShrink>False</CanShrink>
<DataType>System.String</DataType>
<RTL>No</RTL>
<Text>BaseDataItem1</Text>
<DrawBorder>False</DrawBorder>
<FrameColor>Black</FrameColor>
<ForeColor>Black</ForeColor>
<ColumnName>Firstname</ColumnName>
<Name>BaseDataItem1</Name>
</BaseDataItem>
</Items>
<FrameColor>LightGray</FrameColor>
<Name>ReportDetail</Name>
</BaseSection>
<BaseSection>
<Location>50, 315</Location>
<Size>727, 60</Size>
<BackColor>White</BackColor>
<SectionOffset>0</SectionOffset>
<SectionMargin>0</SectionMargin>
<DrawBorder>False</DrawBorder>
<PageBreakAfter>False</PageBreakAfter>
<Items>
<BaseTextItem>
<Location>622, 5</Location>
<Size>100, 20</Size>
<BackColor>White</BackColor>
<Font>Microsoft Sans Serif, 10pt</Font>
<StringTrimming>None</StringTrimming>
<ContentAlignment>TopLeft</ContentAlignment>
<CanGrow>False</CanGrow>
<CanShrink>False</CanShrink>
<DataType>System.String</DataType>
<RTL>No</RTL>
<Text>=Globals!PageNumber</Text>
<DrawBorder>False</DrawBorder>
<FrameColor>Black</FrameColor>
<ForeColor>Black</ForeColor>
<Name>PageNumber1</Name>
</BaseTextItem>
</Items>
<FrameColor>Black</FrameColor>
<Name>ReportPageFooter</Name>
</BaseSection>
<BaseSection>
<Location>50, 390</Location>
<Size>727, 60</Size>
<BackColor>White</BackColor>
<SectionOffset>0</SectionOffset>
<SectionMargin>0</SectionMargin>
<DrawBorder>False</DrawBorder>
<PageBreakAfter>False</PageBreakAfter>
<Items>
<BaseTextItem>
<Location>298, 4</Location>
<Size>100, 20</Size>
<BackColor>White</BackColor>
<Font>Segoe UI, 9pt</Font>
<StringTrimming>None</StringTrimming>
<ContentAlignment>TopLeft</ContentAlignment>
<CanGrow>False</CanGrow>
<CanShrink>False</CanShrink>
<RTL>No</RTL>
<Text>= sum('RandomInt')</Text>
<DrawBorder>False</DrawBorder>
<FrameColor>Black</FrameColor>
<ForeColor>ControlText</ForeColor>
<Name>BaseTextItem2147483646</Name>
</BaseTextItem>
</Items>
<FrameColor>Black</FrameColor>
<Name>ReportFooter</Name>
</BaseSection>
</SectionCollection>
</ReportModel>
Loading…
Cancel
Save