Browse Source

DataRow and Groupheader

pull/470/head
Peter Forstmeier 11 years ago
parent
commit
0cba158e83
  1. 5
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/ICSharpCode.Reporting.Addin.csproj
  2. 3
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/DesignableItems/BaseDataItem.cs
  3. 33
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/DesignableItems/BaseGroupHeader.cs
  4. 56
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/DesignableItems/BaseRowItem.cs
  5. 15
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Designer/ContainerDesigner.cs
  6. 83
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Designer/GroupedRowDesigner.cs
  7. 18
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Toolbox/ToolboxProvider.cs
  8. 85
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/TypeProvider/GroupedRowTypeProvider.cs
  9. 81
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/TypeProvider/RowItemTypeProvider.cs
  10. 2
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/ICSharpCode.Reporting.csproj
  11. 15
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Exporter/Visitors/AbstractVisitor.cs
  12. 27
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/BaseGroupHeader.cs
  13. 21
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/BaseRowItem.cs
  14. 2
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/DataPageBuilder.cs
  15. 22
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/ExportColumns/ExportRow.cs
  16. 30
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Wpf/Visitor/WpfVisitor.cs
  17. 4
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Xml/MycroParser.cs

5
src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/ICSharpCode.Reporting.Addin.csproj

@ -99,8 +99,10 @@
<Compile Include="src\DesignableItems\AbstractGraphicItem.cs" /> <Compile Include="src\DesignableItems\AbstractGraphicItem.cs" />
<Compile Include="src\DesignableItems\AbstractItem.cs" /> <Compile Include="src\DesignableItems\AbstractItem.cs" />
<Compile Include="src\DesignableItems\BaseCircleItem.cs" /> <Compile Include="src\DesignableItems\BaseCircleItem.cs" />
<Compile Include="src\DesignableItems\BaseGroupHeader.cs" />
<Compile Include="src\DesignableItems\BaseLineItem.cs" /> <Compile Include="src\DesignableItems\BaseLineItem.cs" />
<Compile Include="src\DesignableItems\BaseRectangleItem.cs" /> <Compile Include="src\DesignableItems\BaseRectangleItem.cs" />
<Compile Include="src\DesignableItems\BaseRowItem.cs" />
<Compile Include="src\DesignableItems\BaseSection.cs" /> <Compile Include="src\DesignableItems\BaseSection.cs" />
<Compile Include="src\DesignableItems\BaseTextItem.cs" /> <Compile Include="src\DesignableItems\BaseTextItem.cs" />
<Compile Include="src\DesignableItems\BaseDataItem.cs" /> <Compile Include="src\DesignableItems\BaseDataItem.cs" />
@ -113,6 +115,7 @@
<Compile Include="src\DesignerBinding\ReportDesignerLoader.cs" /> <Compile Include="src\DesignerBinding\ReportDesignerLoader.cs" />
<Compile Include="src\Designer\AbstractDesigner.cs" /> <Compile Include="src\Designer\AbstractDesigner.cs" />
<Compile Include="src\Designer\DataItemDesigner.cs" /> <Compile Include="src\Designer\DataItemDesigner.cs" />
<Compile Include="src\Designer\GroupedRowDesigner.cs" />
<Compile Include="src\Designer\LineDesigner.cs" /> <Compile Include="src\Designer\LineDesigner.cs" />
<Compile Include="src\Designer\ContainerDesigner.cs" /> <Compile Include="src\Designer\ContainerDesigner.cs" />
<Compile Include="src\Designer\ReportRootDesigner.cs" /> <Compile Include="src\Designer\ReportRootDesigner.cs" />
@ -140,8 +143,10 @@
<Compile Include="src\TypeProvider\AbstractItemTypeProvider.cs" /> <Compile Include="src\TypeProvider\AbstractItemTypeProvider.cs" />
<Compile Include="src\TypeProvider\CircleItemTypeProvider.cs" /> <Compile Include="src\TypeProvider\CircleItemTypeProvider.cs" />
<Compile Include="src\TypeProvider\DataItemTypeProvider.cs" /> <Compile Include="src\TypeProvider\DataItemTypeProvider.cs" />
<Compile Include="src\TypeProvider\GroupedRowTypeProvider.cs" />
<Compile Include="src\TypeProvider\LineItemTypeProvider.cs" /> <Compile Include="src\TypeProvider\LineItemTypeProvider.cs" />
<Compile Include="src\TypeProvider\RectangleItemTypeProvider.cs" /> <Compile Include="src\TypeProvider\RectangleItemTypeProvider.cs" />
<Compile Include="src\TypeProvider\RowItemTypeProvider.cs" />
<Compile Include="src\TypeProvider\SectionItemTypeProvider.cs" /> <Compile Include="src\TypeProvider\SectionItemTypeProvider.cs" />
<Compile Include="src\TypeProvider\TextItemTypeProvider.cs" /> <Compile Include="src\TypeProvider\TextItemTypeProvider.cs" />
<Compile Include="src\TypeProvider\TypeProviderHelper.cs" /> <Compile Include="src\TypeProvider\TypeProviderHelper.cs" />

3
src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/DesignableItems/BaseDataItem.cs

@ -33,9 +33,6 @@ namespace ICSharpCode.Reporting.Addin.DesignableItems
public string ColumnName {get;set;} public string ColumnName {get;set;}
// [Category("Databinding"), Description(tableName)]
// public string BaseTableName {get;set;}
[Category("Databinding"), Description(showIfColumnvalueIsEmpty)] [Category("Databinding"), Description(showIfColumnvalueIsEmpty)]
public string NullValue {get;set;} public string NullValue {get;set;}
} }

33
src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/DesignableItems/BaseGroupHeader.cs

@ -0,0 +1,33 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 04.05.2014
* Time: 17:18
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.ComponentModel;
using ICSharpCode.Reporting.Addin.Designer;
using ICSharpCode.Reporting.Addin.TypeProvider;
namespace ICSharpCode.Reporting.Addin.DesignableItems
{
/// <summary>
/// Description of BaseGroupHeader.
/// </summary>
[Designer(typeof(GroupedRowDesigner))]
public class BaseGroupHeader:BaseRowItem
{
public BaseGroupHeader()
{
TypeDescriptor.AddProvider(new GroupedRowTypeProvider(), typeof(BaseGroupHeader));
}
[Category("Behavior")]
public bool PageBreakOnGroupChange {get;set;}
}
}

56
src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/DesignableItems/BaseRowItem.cs

@ -0,0 +1,56 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 04.05.2014
* Time: 17:31
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.ComponentModel;
using System.Drawing;
using ICSharpCode.Reporting.Globals;
using ICSharpCode.Reporting.Addin.Designer;
using ICSharpCode.Reporting.Addin.TypeProvider;
namespace ICSharpCode.Reporting.Addin.DesignableItems
{
/// <summary>
/// Description of BaseRowItem.
/// </summary>
///
[Designer(typeof(ContainerDesigner))]
public class BaseRowItem:AbstractItem
{
public BaseRowItem():base()
{
var size = new Size((GlobalValues.PreferedSize.Width * 3) + 10,
GlobalValues.PreferedSize.Height + 10);
DefaultSize = size;
Size = size;
BackColor = Color.White;
TypeDescriptor.AddProvider(new RowItemTypeProvider(), typeof(BaseRowItem));
}
protected override void OnPaint(System.Windows.Forms.PaintEventArgs e)
{
base.OnPaint(e);
Draw(e.Graphics);
}
public override void Draw(Graphics graphics)
{
if (graphics == null) {
throw new ArgumentNullException("graphics");
}
using (Brush b = new SolidBrush(this.BackColor)){
graphics.FillRectangle(b, DrawingRectangle);
}
DrawControl(graphics, base.DrawingRectangle);
}
}
}

15
src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Designer/ContainerDesigner.cs

@ -46,20 +46,6 @@ namespace ICSharpCode.Reporting.Addin.Designer{
toolboxService.SetSelectedToolboxItem(null); toolboxService.SetSelectedToolboxItem(null);
} }
// public override bool CanBeParentedTo(IDesigner parentDesigner)
// {
// base.CanBeParentedTo(parentDesigner);
// }
public override bool CanParent(Control control)
{
return base.CanParent(control);
}
public override bool CanParent(ControlDesigner controlDesigner)
{
return base.CanParent(controlDesigner);
}
void OnSelectionChanged(object sender, EventArgs e){ void OnSelectionChanged(object sender, EventArgs e){
Control.Invalidate( ); Control.Invalidate( );
@ -85,7 +71,6 @@ namespace ICSharpCode.Reporting.Addin.Designer{
if (componentChangeService != null) { if (componentChangeService != null) {
componentChangeService.ComponentRename += OnComponentRename; componentChangeService.ComponentRename += OnComponentRename;
componentChangeService.ComponentAdding += (sender, e) => { componentChangeService.ComponentAdding += (sender, e) => {
}; };
} }
} }

83
src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Designer/GroupedRowDesigner.cs

@ -0,0 +1,83 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 04.05.2014
* Time: 17:22
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.ComponentModel;
using System.ComponentModel.Design;
using ICSharpCode.Reporting.Addin.TypeProvider;
namespace ICSharpCode.Reporting.Addin.Designer
{
/// <summary>
/// Description of GroupedRowDesigner.
/// </summary>
public class GroupedRowDesigner:ContainerDesigner
{
ISelectionService selectionService;
IComponentChangeService componentChangeService;
public override void Initialize(IComponent component)
{
base.Initialize(component);
GetService();
}
protected override void PostFilterProperties(System.Collections.IDictionary properties)
{
TypeProviderHelper.RemoveProperties(properties);
base.PostFilterProperties(properties);
}
void GetService ()
{
selectionService = GetService(typeof(ISelectionService)) as ISelectionService;
if (selectionService != null)
{
selectionService.SelectionChanged += OnSelectionChanged;
}
componentChangeService = (IComponentChangeService)GetService(typeof(IComponentChangeService));
if (componentChangeService != null) {
componentChangeService.ComponentRename += new ComponentRenameEventHandler(OnComponentRename);
}
}
void OnSelectionChanged(object sender, EventArgs e)
{
Control.Invalidate( );
}
void OnComponentRename(object sender,ComponentRenameEventArgs e) {
if (e.Component == this.Component) {
Control.Name = e.NewName;
Control.Text = e.NewName;
Control.Invalidate();
}
}
protected override void Dispose(bool disposing)
{
if (this.selectionService != null) {
selectionService.SelectionChanged -= OnSelectionChanged;
}
if (componentChangeService != null) {
componentChangeService.ComponentRename -= OnComponentRename;
}
base.Dispose(disposing);
}
}
}

18
src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Toolbox/ToolboxProvider.cs

@ -93,14 +93,22 @@ namespace ICSharpCode.Reporting.Addin.Toolbox
}; };
sideTab.Items.Add(new SideTabItemDesigner(toolboxItem)); sideTab.Items.Add(new SideTabItemDesigner(toolboxItem));
/*
//GroupHeader //GroupHeader
tb = new ToolboxItem(typeof(ICSharpCode.Reports.Addin.GroupHeader)); toolboxItem = new ToolboxItem(typeof(BaseGroupHeader));
tb.Bitmap = WinFormsResourceService.GetBitmap("Icons.16x16.NameSpace"); toolboxItem.Bitmap = IconService.GetBitmap("Icons.16x16.NameSpace");
tb.DisplayName = ResourceService.GetString("SharpReport.Toolbar.GroupHeader"); toolboxItem.DisplayName = ResourceService.GetString("SharpReport.Toolbar.GroupHeader");
sideTab.Items.Add(new SideTabItemDesigner(tb));
sideTab.Items.Add(new SideTabItemDesigner(toolboxItem));
// Row
toolboxItem = new ToolboxItem(typeof(BaseRowItem));
toolboxItem.Bitmap = IconService.GetBitmap("Icons.16x16.SharpQuery.Table");
toolboxItem.DisplayName = ResourceService.GetString("SharpReport.Toolbar.DataRow");
sideTab.Items.Add(new SideTabItemDesigner(toolboxItem));
/*
//GroupFooter //GroupFooter
tb = new ToolboxItem(typeof(ICSharpCode.Reports.Addin.GroupFooter)); tb = new ToolboxItem(typeof(ICSharpCode.Reports.Addin.GroupFooter));
tb.Bitmap = WinFormsResourceService.GetBitmap("Icons.16x16.NameSpace"); tb.Bitmap = WinFormsResourceService.GetBitmap("Icons.16x16.NameSpace");

85
src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/TypeProvider/GroupedRowTypeProvider.cs

@ -0,0 +1,85 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 04.05.2014
* Time: 17:19
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Collections.Generic;
using System.ComponentModel;
using ICSharpCode.Reporting.Addin.DesignableItems;
namespace ICSharpCode.Reporting.Addin.TypeProvider
{
/// <summary>
/// Description of GroupedRowTypeProvider.
/// </summary>
class GroupedRowTypeProvider : TypeDescriptionProvider
{
public GroupedRowTypeProvider() : base(TypeDescriptor.GetProvider(typeof(AbstractItem)))
{
}
public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance)
{
ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance);
return new GroupedRowItemTypeDescriptor(td, instance);
}
}
class GroupedRowItemTypeDescriptor : CustomTypeDescriptor
{
public GroupedRowItemTypeDescriptor(ICustomTypeDescriptor parent, object instance)
: base(parent)
{
}
public override PropertyDescriptorCollection GetProperties()
{
return GetProperties(null);
}
public override PropertyDescriptorCollection GetProperties(Attribute[] attributes)
{
PropertyDescriptorCollection props = base.GetProperties(attributes);
List<PropertyDescriptor> allProperties = new List<PropertyDescriptor>();
TypeProviderHelper.AddDefaultProperties(allProperties,props);
PropertyDescriptor prop = null;
prop = props.Find("DrawBorder",true);
allProperties.Add(prop);
prop = props.Find("ForeColor",true);
allProperties.Add(prop);
prop = props.Find("Visible",true);
allProperties.Add(prop);
prop = props.Find("FrameColor",true);
allProperties.Add(prop);
prop = props.Find("Controls",true);
allProperties.Add(prop);
// prop = props.Find("AlternateBackColor",true);
// allProperties.Add(prop);
//
// prop = props.Find("ChangeBackColorEveryNRow",true);
// allProperties.Add(prop);
prop = props.Find("PageBreakOnGroupChange",true);
allProperties.Add(prop);
return new PropertyDescriptorCollection(allProperties.ToArray());
}
}
}

81
src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/TypeProvider/RowItemTypeProvider.cs

@ -0,0 +1,81 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 04.05.2014
* Time: 17:33
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Collections.Generic;
using System.ComponentModel;
using ICSharpCode.Reporting.Addin.DesignableItems;
namespace ICSharpCode.Reporting.Addin.TypeProvider
{
/// <summary>
/// Description of RowItemTypeProvider.
/// </summary>
class RowItemTypeProvider : TypeDescriptionProvider
{
public RowItemTypeProvider() : base(TypeDescriptor.GetProvider(typeof(AbstractItem)))
{
}
public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance)
{
ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance);
return new RowItemTypeDescriptor(td, instance);
}
}
internal class RowItemTypeDescriptor : CustomTypeDescriptor
{
public RowItemTypeDescriptor(ICustomTypeDescriptor parent, object instance)
: base(parent)
{
}
public override PropertyDescriptorCollection GetProperties()
{
return GetProperties(null);
}
public override PropertyDescriptorCollection GetProperties(Attribute[] attributes)
{
PropertyDescriptorCollection props = base.GetProperties(attributes);
List<PropertyDescriptor> allProperties = new List<PropertyDescriptor>();
TypeProviderHelper.AddDefaultProperties(allProperties,props);
PropertyDescriptor prop = null;
prop = props.Find("DrawBorder",true);
allProperties.Add(prop);
prop = props.Find("ForeColor",true);
allProperties.Add(prop);
prop = props.Find("Visible",true);
allProperties.Add(prop);
prop = props.Find("FrameColor",true);
allProperties.Add(prop);
prop = props.Find("Controls",true);
allProperties.Add(prop);
// prop = props.Find("AlternateBackColor",true);
// allProperties.Add(prop);
//
// prop = props.Find("ChangeBackColorEveryNRow",true);
// allProperties.Add(prop);
return new PropertyDescriptorCollection(allProperties.ToArray());
}
}
}

2
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/ICSharpCode.Reporting.csproj

@ -144,6 +144,7 @@
<Compile Include="Src\Interfaces\IReportContainer.cs" /> <Compile Include="Src\Interfaces\IReportContainer.cs" />
<Compile Include="Src\Interfaces\IReportCreator.cs" /> <Compile Include="Src\Interfaces\IReportCreator.cs" />
<Compile Include="Src\Items\BaseDataItem.cs" /> <Compile Include="Src\Items\BaseDataItem.cs" />
<Compile Include="Src\Items\BaseGroupHeader.cs" />
<Compile Include="Src\Items\BaseRowItem.cs" /> <Compile Include="Src\Items\BaseRowItem.cs" />
<Compile Include="Src\Items\BaseSection.cs" /> <Compile Include="Src\Items\BaseSection.cs" />
<Compile Include="Src\Globals\GlobalEnums.cs" /> <Compile Include="Src\Globals\GlobalEnums.cs" />
@ -169,6 +170,7 @@
<Compile Include="Src\PageBuilder\ExportColumns\ExportContainer.cs" /> <Compile Include="Src\PageBuilder\ExportColumns\ExportContainer.cs" />
<Compile Include="Src\PageBuilder\ExportColumns\ExportLine.cs" /> <Compile Include="Src\PageBuilder\ExportColumns\ExportLine.cs" />
<Compile Include="Src\PageBuilder\ExportColumns\ExportRectangle.cs" /> <Compile Include="Src\PageBuilder\ExportColumns\ExportRectangle.cs" />
<Compile Include="Src\PageBuilder\ExportColumns\ExportRow.cs" />
<Compile Include="Src\PageBuilder\ExportColumns\ExportText.cs" /> <Compile Include="Src\PageBuilder\ExportColumns\ExportText.cs" />
<Compile Include="Src\PageBuilder\ExportColumns\ExportPage.cs" /> <Compile Include="Src\PageBuilder\ExportColumns\ExportPage.cs" />
<Compile Include="Src\PageBuilder\ExportColumns\GraphicsContainer.cs" /> <Compile Include="Src\PageBuilder\ExportColumns\GraphicsContainer.cs" />

15
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Exporter/Visitors/AbstractVisitor.cs

@ -58,22 +58,21 @@ namespace ICSharpCode.Reporting.Exporter.Visitors
} }
public virtual void Visit(ExportText exportColumn) public virtual void Visit(ExportText exportColumn){
{
} }
public virtual void Visit (ExportRow exportRow) {
}
public virtual void Visit(ExportLine exportGraphics) public virtual void Visit(ExportLine exportGraphics){
{
} }
public virtual void Visit (ExportRectangle exportRectangle) { public virtual void Visit (ExportRectangle exportRectangle) {
} }
public virtual void Visit (ExportCircle exportCircle) { public virtual void Visit (ExportCircle exportCircle) {
} }

27
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/BaseGroupHeader.cs

@ -0,0 +1,27 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 04.05.2014
* Time: 17:41
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
namespace ICSharpCode.Reporting.Items
{
/// <summary>
/// Description of BaseGroupHeader.
/// </summary>
public class BaseGroupHeader:BaseRowItem
{
public BaseGroupHeader()
{
}
public bool PageBreakOnGroupChange {get;set;}
}
}

21
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/BaseRowItem.cs

@ -16,6 +16,8 @@
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE. // DEALINGS IN THE SOFTWARE.
using ICSharpCode.Reporting.Interfaces.Export;
using ICSharpCode.Reporting.PageBuilder.ExportColumns;
namespace ICSharpCode.Reporting.Items namespace ICSharpCode.Reporting.Items
{ {
/// <summary> /// <summary>
@ -26,11 +28,20 @@ namespace ICSharpCode.Reporting.Items
public BaseRowItem() public BaseRowItem()
{ {
} }
}
public override IExportColumn CreateExportColumn()
public class GroupHeader :BaseRowItem {
{ var er = new ExportRow(){
public GroupHeader() { Name = this.Name,
Size = this.Size,
Location = this.Location,
CanGrow = this.CanGrow,
BackColor = this.BackColor,
DesiredSize = this.Size
};
return er;
} }
} }
} }

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

@ -84,7 +84,7 @@ namespace ICSharpCode.Reporting.PageBuilder
foreach (IGrouping<object, object> grouping in DataSource.GroupedList) { foreach (IGrouping<object, object> grouping in DataSource.GroupedList) {
var groupHeader = (BaseRowItem)CurrentSection.Items.Where(p => p.GetType() == typeof(GroupHeader)).FirstOrDefault(); var groupHeader = (BaseRowItem)CurrentSection.Items.Where(p => p.GetType() == typeof(BaseGroupHeader)).FirstOrDefault();
var sectionContainer = CreateContainerForSection(CurrentPage, pagePosition); var sectionContainer = CreateContainerForSection(CurrentPage, pagePosition);
DataSource.Fill(groupHeader.Items,grouping.FirstOrDefault()); DataSource.Fill(groupHeader.Items,grouping.FirstOrDefault());

22
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/ExportColumns/ExportRow.cs

@ -0,0 +1,22 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 04.05.2014
* Time: 18:01
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
namespace ICSharpCode.Reporting.PageBuilder.ExportColumns
{
/// <summary>
/// Description of ExportRow.
/// </summary>
public class ExportRow:ExportContainer
{
public ExportRow()
{
}
}
}

30
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Wpf/Visitor/WpfVisitor.cs

@ -63,11 +63,7 @@ namespace ICSharpCode.Reporting.WpfReportViewer.Visitor
var canvas = FixedDocumentCreator.CreateContainer(container); var canvas = FixedDocumentCreator.CreateContainer(container);
foreach (var element in container.ExportedItems) { foreach (var element in container.ExportedItems) {
if (IsContainer(element)) { if (IsContainer(element)) {
if (IsGraphicsContainer(element)) { RenderRow(canvas, (IExportContainer)element);
canvas.Children.Add(RenderGraphicsContainer(element));
} else {
canvas.Children.Add(RenderRow(element));
}
} else { } else {
var acceptor = element as IAcceptor; var acceptor = element as IAcceptor;
acceptor.Accept(this); acceptor.Accept(this);
@ -77,11 +73,27 @@ namespace ICSharpCode.Reporting.WpfReportViewer.Visitor
canvas.Background = FixedDocumentCreator.ConvertBrush(container.BackColor); canvas.Background = FixedDocumentCreator.ConvertBrush(container.BackColor);
return canvas; return canvas;
} }
void RenderRow(Canvas canvas, IExportContainer element)
{
if (IsGraphicsContainer(element)) {
canvas.Children.Add(RenderGraphicsContainer(element));
} else {
canvas.Children.Add(RenderRow((ExportContainer)element));
}
}
public override void Visit(ExportRow exportRow)
{
Console.WriteLine("Reender ExportRow");
base.Visit(exportRow);
}
Canvas RenderRow (IExportColumn column) { Canvas RenderRow (ExportContainer row) {
var row = column as ExportContainer; var rowCanvas = FixedDocumentCreator.CreateContainer(row);
var rowCanvas = CreateItemsInContainer(row.ExportedItems); var childCanvas = CreateItemsInContainer(row.ExportedItems);
rowCanvas.Children.Add(childCanvas);
return rowCanvas; return rowCanvas;
} }

4
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Xml/MycroParser.cs

@ -63,10 +63,6 @@ namespace ICSharpCode.Reporting.Xml
string ns=node.Prefix; string ns=node.Prefix;
string cname=node.LocalName; string cname=node.LocalName;
Console.WriteLine ("ProcessNode(XmlNode node, object parent) {0}",cname);
if (cname.StartsWith("BaseText")) {
Console.WriteLine("Found");
}
Type t=GetTypeByName(ns, cname); Type t=GetTypeByName(ns, cname);
// Trace.Assert(t != null, "Type "+cname+" could not be determined."); // Trace.Assert(t != null, "Type "+cname+" could not be determined.");

Loading…
Cancel
Save