Browse Source

Aggregates with StringConcat and Global functions (PageNumber,ReportName etc)

reports
Peter Forstmeier 12 years ago
parent
commit
170e18b266
  1. 13
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Expressions/ExpressionRunner.cs
  2. 2
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Expressions/Irony/Imports/ImportAggregates.cs
  3. 6
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/BasePageBuilder.cs
  4. 3
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/FormPageBuilder.cs
  5. 14
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/Expressions/Aggregates/SumAggregate.cs
  6. 9
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/Expressions/IntegrationTests/GlobalsFixture.cs
  7. 2
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/TestReports/TestForGlobals.srd

13
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Expressions/ExpressionRunner.cs

@ -34,12 +34,13 @@ namespace ICSharpCode.Reporting.Expressions
public void Run() public void Run()
{ {
Visitor = new ExpressionVisitor (reportSettings); Visitor = new ExpressionVisitor (reportSettings);
if (dataSource != null) {
if (dataSource.SortedList != null) { if (dataSource.SortedList != null) {
Visitor.SetCurrentDataSource(dataSource.SortedList); Visitor.SetCurrentDataSource(dataSource.SortedList);
} }
if (dataSource.GroupedList != null) { if (dataSource.GroupedList != null) {
Visitor.SetCurrentDataSource(dataSource.GroupedList); Visitor.SetCurrentDataSource(dataSource.GroupedList);
}
} }
Visitor.Run(pages); Visitor.Run(pages);
} }

2
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Expressions/Irony/Imports/ImportAggregates.cs

@ -70,7 +70,7 @@ namespace ICSharpCode.Reporting.Expressions.Irony.Imports
}); });
} }
} }
return sum; return sum.ToString();
} }

6
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/BasePageBuilder.cs

@ -193,12 +193,6 @@ namespace ICSharpCode.Reporting.PageBuilder
ExpressionRunner = new ExpressionRunner(Pages,reportsettings,dataSource); ExpressionRunner = new ExpressionRunner(Pages,reportsettings,dataSource);
} }
// protected void RunExpressions(ReportSettings reportsettings,CollectionDataSource dataSource)
// {
//// var expressionRunner = new ExpressionRunner(Pages,reportsettings,dataSource);
// ExpressionRunner.Run();
// }
protected void RunDebugVisitor() protected void RunDebugVisitor()
{ {

3
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/FormPageBuilder.cs

@ -27,12 +27,13 @@ namespace ICSharpCode.Reporting.PageBuilder
public override void BuildExportList() public override void BuildExportList()
{ {
SetupExpressionRunner(ReportModel.ReportSettings,null);
base.BuildExportList(); base.BuildExportList();
BuildDetail(); BuildDetail();
base.AddPage(CurrentPage); base.AddPage(CurrentPage);
UpdatePageInfo(); UpdatePageInfo();
// RunDebugVisitor(); // RunDebugVisitor();
// RunExpressions(ReportModel.ReportSettings); ExpressionRunner.Run();
} }

14
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/Expressions/Aggregates/SumAggregate.cs

@ -24,7 +24,6 @@ namespace ICSharpCode.Reporting.Test.Expressions.Aggregates
public void CanSum_Int_WholeCollection() public void CanSum_Int_WholeCollection()
{ {
var reportSettings = new ReportSettings(); var reportSettings = new ReportSettings();
// var visitor = new ExpressionVisitor(reportSettings,dataSource.SortedList);
var visitor = new ExpressionVisitor (reportSettings); var visitor = new ExpressionVisitor (reportSettings);
visitor.SetCurrentDataSource(dataSource.SortedList); visitor.SetCurrentDataSource(dataSource.SortedList);
var script = "= sum('intValue')"; var script = "= sum('intValue')";
@ -39,7 +38,6 @@ namespace ICSharpCode.Reporting.Test.Expressions.Aggregates
public void CanSum_Double_WholeCollection() public void CanSum_Double_WholeCollection()
{ {
var reportSettings = new ReportSettings(); var reportSettings = new ReportSettings();
// var visitor = new ExpressionVisitor(reportSettings,dataSource.SortedList);
var visitor = new ExpressionVisitor (reportSettings); var visitor = new ExpressionVisitor (reportSettings);
visitor.SetCurrentDataSource(dataSource.SortedList); visitor.SetCurrentDataSource(dataSource.SortedList);
var script = "= sum('doubleValue')"; var script = "= sum('doubleValue')";
@ -50,6 +48,18 @@ namespace ICSharpCode.Reporting.Test.Expressions.Aggregates
} }
[Test]
public void CanSum_Double_With_String_Concat()
{
var reportSettings = new ReportSettings();
var visitor = new ExpressionVisitor (reportSettings);
visitor.SetCurrentDataSource(dataSource.SortedList);
var script = "= 'myText ' + sum('doubleValue')";
collection[0].Text = script;
visitor.Visit(collection[0]);
Assert.That (collection[0].Text,Is.EqualTo("myText 408,25"));
}
[SetUp] [SetUp]
public void CreateExportlist() { public void CreateExportlist() {

9
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/Expressions/IntegrationTests/GlobalsFixture.cs

@ -13,7 +13,7 @@ using NUnit.Framework;
namespace ICSharpCode.Reporting.Test.Expressions.InterationTests namespace ICSharpCode.Reporting.Test.Expressions.InterationTests
{ {
[TestFixture] [TestFixture]
[Ignore] // [Ignore]
public class GlobalsFixture public class GlobalsFixture
{ {
IReportCreator reportCreator; IReportCreator reportCreator;
@ -105,12 +105,5 @@ namespace ICSharpCode.Reporting.Test.Expressions.InterationTests
var reportingFactory = new ReportingFactory(); var reportingFactory = new ReportingFactory();
reportCreator = reportingFactory.ReportCreator(stream); reportCreator = reportingFactory.ReportCreator(stream);
} }
// [TestFixtureSetUp]
// public void Setup() {
//
// expressionVisitor = new ExpressionVisitor(new ReportSettings());
// }
} }
} }

2
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Test/ICSharpCode.Reporting.Test/src/TestReports/TestForGlobals.srd

@ -113,7 +113,7 @@
<Items> <Items>
<BaseTextItem> <BaseTextItem>
<Location>16, 4</Location> <Location>16, 4</Location>
<Size>100, 20</Size> <Size>264, 20</Size>
<BackColor>White</BackColor> <BackColor>White</BackColor>
<Font>Segoe UI, 9pt</Font> <Font>Segoe UI, 9pt</Font>
<StringTrimming>None</StringTrimming> <StringTrimming>None</StringTrimming>

Loading…
Cancel
Save