Browse Source

Display non Data related Items in DataRow

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/reports@6384 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
pull/1/head
Peter Forstmeier 16 years ago
parent
commit
5ed9cc32a0
  1. 3
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/ICSharpCode.Reports.Addin.csproj
  2. 57
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/GroupedRowDesigner.cs
  3. 22
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseGroupItem.cs
  4. 29
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseGroupedRow.cs
  5. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Toolbox/ToolboxProvider.cs
  6. 1
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj
  7. 22
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseGroupeItem.cs
  8. 31
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/DataNavigator.cs
  9. 9
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs
  10. 25
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs
  11. 4
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/TableConverter.cs
  12. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/old_GroupedRowConverter.cs

3
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/ICSharpCode.Reports.Addin.csproj

@ -88,7 +88,6 @@ @@ -88,7 +88,6 @@
<Compile Include="Project\DesignerBinding\ReportDesignerGenerator.cs" />
<Compile Include="Project\DesignerBinding\ReportDesignerLoader.cs" />
<Compile Include="Project\DesignerBinding\InternalReportLoader.cs" />
<Compile Include="Project\Designer\GroupedRowDesigner.cs" />
<Compile Include="Project\Designer\DataItemDesigner.cs" />
<Compile Include="Project\Designer\DesignerHelper.cs" />
<Compile Include="Project\Designer\ImageDesigner.cs" />
@ -140,7 +139,7 @@ @@ -140,7 +139,7 @@
<Compile Include="Project\ReportItems\BaseDataItem.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Project\ReportItems\BaseGroupedRow.cs" />
<Compile Include="Project\ReportItems\BaseGroupItem.cs" />
<Compile Include="Project\ReportItems\BaseImageItem.cs">
<SubType>Component</SubType>
</Compile>

57
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/GroupedRowDesigner.cs

@ -1,57 +0,0 @@ @@ -1,57 +0,0 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 30.07.2010
* Time: 20:03
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Drawing;
using System.Windows.Forms.Design;
namespace ICSharpCode.Reports.Addin.Designer
{
/// <summary>
/// Description of BaseGroupHeaderDesigner.
/// </summary>
public class GroupedRowDesigner:ParentControlDesigner
{
private ISelectionService selectionService;
public GroupedRowDesigner()
{
}
public override void Initialize(IComponent component)
{
if (component == null) {
throw new ArgumentNullException("component");
}
base.Initialize(component);
GetService ();
}
private void OnSelectionChanged(object sender, EventArgs e)
{
Control.Invalidate( );
}
private void GetService ()
{
selectionService = GetService(typeof(ISelectionService)) as ISelectionService;
if (selectionService != null)
{
selectionService.SelectionChanged += OnSelectionChanged;
}
}
}
}

22
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseGroupItem.cs

@ -0,0 +1,22 @@ @@ -0,0 +1,22 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 07.08.2010
* Time: 21:57
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
namespace ICSharpCode.Reports.Addin
{
/// <summary>
/// Description of BaseGroupItem.
/// </summary>
public class BaseGroupeItem:BaseDataItem
{
public BaseGroupeItem()
{
}
}
}

29
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseGroupedRow.cs

@ -1,29 +0,0 @@ @@ -1,29 +0,0 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 06.08.2010
* Time: 19:25
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using ICSharpCode.Reports.Addin.Designer;
using ICSharpCode.Reports.Core;
namespace ICSharpCode.Reports.Addin
{
/// <summary>
/// Description of BaseGroupedRow.
/// </summary>
[Designer(typeof(ICSharpCode.Reports.Addin.Designer.GroupedRowDesigner))]
public class BaseGroupedRow:BaseRowItem
{
public BaseGroupedRow()
{
}
}
}

2
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Toolbox/ToolboxProvider.cs

@ -75,7 +75,7 @@ namespace ICSharpCode.Reports.Addin @@ -75,7 +75,7 @@ namespace ICSharpCode.Reports.Addin
//Group
tb = new ToolboxItem(typeof(ICSharpCode.Reports.Addin.BaseGroupedRow));
tb = new ToolboxItem(typeof(ICSharpCode.Reports.Addin.BaseGroupeItem));
tb.Bitmap = WinFormsResourceService.GetBitmap("Icons.16x16.SharpQuery.Table");
// tb.DisplayName = ResourceService.GetString("SharpReport.Toolbar.DataRow");
tb.DisplayName = "GroupHeader";

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

@ -86,6 +86,7 @@ @@ -86,6 +86,7 @@
<Compile Include="Project\BaseClasses\SinglePage.cs" />
<Compile Include="Project\BaseClasses\SectionBounds.cs" />
<Compile Include="Project\BaseClasses\SortColumn.cs" />
<Compile Include="Project\BaseItems\BaseGroupeItem.cs" />
<Compile Include="Project\BaseItems\BaseTextItem.cs" />
<Compile Include="Project\BaseItems\BaseGraphicItem.cs" />
<Compile Include="Project\BaseItems\BaseReportItem.cs" />

22
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseGroupeItem.cs

@ -0,0 +1,22 @@ @@ -0,0 +1,22 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 07.08.2010
* Time: 22:10
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
namespace ICSharpCode.Reports.Core
{
/// <summary>
/// Description of BaseGroupeItem.
/// </summary>
public class BaseGroupeItem:BaseDataItem
{
public BaseGroupeItem():base()
{
}
}
}

31
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/DataNavigator.cs

@ -33,11 +33,23 @@ namespace ICSharpCode.Reports.Core @@ -33,11 +33,23 @@ namespace ICSharpCode.Reports.Core
#endregion
private bool IsDataItem (BaseReportItem itm)
{
var d = itm as BaseDataItem;
return d != null;
}
#region IDataNavigator implementation
public void Fill (ReportItemCollection collection) {
foreach (IReportItem item in collection) {
this.store.Fill(item);
foreach (BaseReportItem item in collection) {
if (IsDataItem (item)) {
this.store.Fill(item);
}
}
}
@ -160,15 +172,16 @@ namespace ICSharpCode.Reports.Core @@ -160,15 +172,16 @@ namespace ICSharpCode.Reports.Core
public void FillChild (ReportItemCollection collection)
{
TableStrategy t = store as TableStrategy;
TableStrategy tableStrategy = store as TableStrategy;
foreach (BaseDataItem item in collection) {
CurrentItemsCollection ci = t.FillDataRow(ce.Current.ListIndex);
CurrentItem s = ci.FirstOrDefault(x => x.ColumnName == ((BaseDataItem)item).ColumnName);
item.DBValue = s.Value.ToString();
foreach (BaseReportItem item in collection) {
if (IsDataItem(item)) {
BaseDataItem di = item as BaseDataItem;
CurrentItemsCollection currentItemsCollection = tableStrategy.FillDataRow(ce.Current.ListIndex);
CurrentItem s = currentItemsCollection.FirstOrDefault(x => x.ColumnName == ((BaseDataItem)item).ColumnName);
di.DBValue = s.Value.ToString();
}
}
}

9
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs

@ -8,6 +8,7 @@ @@ -8,6 +8,7 @@
*/
using System;
using System.Drawing;
using System.Linq;
using ICSharpCode.Reports.Core.BaseClasses.Printing;
using ICSharpCode.Reports.Core.Events;
using ICSharpCode.Reports.Core.Interfaces;
@ -156,7 +157,13 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -156,7 +157,13 @@ namespace ICSharpCode.Reports.Core.Exporter
protected void LayoutRow (ISimpleContainer row)
protected void PrepareContainerForConverting(ISimpleContainer simpleContainer)
{
LayoutRow(simpleContainer);
}
private void LayoutRow (ISimpleContainer row)
{
PrintHelper.SetLayoutForRow(Graphics,Layouter,row);
}

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

@ -71,7 +71,11 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -71,7 +71,11 @@ namespace ICSharpCode.Reports.Core.Exporter
PrintHelper.AdjustSectionLocation (section);
section.Size = this.SectionBounds.DetailSectionRectangle.Size;
base.SaveSize(section.Items[0].Size);
Color color = ((BaseReportItem)simpleContainer).BackColor;
// GroupeHeader
if (base.DataNavigator.HasChildren)
{
TestDecorateElement(simpleContainer);
@ -82,16 +86,15 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -82,16 +86,15 @@ namespace ICSharpCode.Reports.Core.Exporter
PrepareContainerForConverting(simpleContainer);
base.FireSectionRendering(section);
StandardPrinter.EvaluateRow(base.Evaluator,mylist);
currentPosition = base.BaseConvert(mylist,simpleContainer,defaultLeftPos,currentPosition);
AfterConverting (mylist,section);
// Grouping starts ------------------------
// Grouping items ----------------------
if (base.DataNavigator.HasChildren) {
//((BaseReportItem)simpleContainer).BackColor = color;
StandardPrinter.AdjustBackColor(simpleContainer,GlobalValues.DefaultBackColor);
base.DataNavigator.SwitchGroup();
do {
@ -101,7 +104,9 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -101,7 +104,9 @@ namespace ICSharpCode.Reports.Core.Exporter
PrepareContainerForConverting(simpleContainer);
base.FireSectionRendering(section);
StandardPrinter.EvaluateRow(base.Evaluator,mylist);
currentPosition = base.BaseConvert(mylist,simpleContainer,defaultLeftPos,currentPosition);
AfterConverting (mylist,section);
@ -131,21 +136,17 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -131,21 +136,17 @@ namespace ICSharpCode.Reports.Core.Exporter
}
void PrepareContainerForConverting(ISimpleContainer simpleContainer)
{
base.LayoutRow(simpleContainer);
}
void AfterConverting (ExporterCollection mylist,BaseSection section)
private void AfterConverting (ExporterCollection mylist,BaseSection section)
{
StandardPrinter.EvaluateRow(base.Evaluator,mylist);
section.Items[0].Size = base.RestoreSize;
section.SectionOffset += section.Size.Height + 3 * GlobalValues.GapBetweenContainer;
}
Color TestDecorateElement(ISimpleContainer simpleContainer)
private Color TestDecorateElement(ISimpleContainer simpleContainer)
{
BaseReportItem i = simpleContainer as BaseReportItem;
var retval = i.BackColor;
@ -153,7 +154,7 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -153,7 +154,7 @@ namespace ICSharpCode.Reports.Core.Exporter
return retval;
}
void ShouldDrawBorder (BaseSection section,ExporterCollection list)
private void ShouldDrawBorder (BaseSection section,ExporterCollection list)
{
if (section.DrawBorder == true) {
BaseRectangleItem br = BasePager.CreateDebugItem (section);

4
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/TableConverter.cs

@ -83,12 +83,12 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -83,12 +83,12 @@ namespace ICSharpCode.Reports.Core.Exporter
//
BaseSection section = this.baseTable.Parent as BaseSection;
PrintHelper.AdjustSectionLocation(section);
base.FillRow(simpleContainer);
StandardPrinter.EvaluateRow(base.Evaluator,mylist);
base.LayoutRow(simpleContainer);
base.PrepareContainerForConverting(simpleContainer);
if (PrintHelper.IsPageFull(new Rectangle(new Point (simpleContainer.Location.X,currentPosition.Y),simpleContainer.Size),base.SectionBounds)) {
base.FirePageFull(mylist);

2
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/old_GroupedRowConverter.cs

@ -79,7 +79,7 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -79,7 +79,7 @@ namespace ICSharpCode.Reports.Core.Exporter
base.FillRow(simpleContainer);
base.LayoutRow(simpleContainer);
base.PrepareContainerForConverting(simpleContainer);
base.FireSectionRendering(section);

Loading…
Cancel
Save