Browse Source

Patch from Andreas Schoenebeck (DataNavigator.Current) in RowRenderingEventArgs

pull/14/head
peterforstmeier 15 years ago
parent
commit
c49bf9103d
  1. 3
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ChildNavigator.cs
  2. 6
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Events/SectionRenderEventArgs.cs
  3. 9
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs
  4. 6
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs
  5. 4
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedTableConverter.cs

3
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ChildNavigator.cs

@ -71,7 +71,8 @@ namespace ICSharpCode.Reports.Core
public object Current { public object Current {
get { get {
TableStrategy t = this.store as TableStrategy; TableStrategy t = this.store as TableStrategy;
return t.myCurrent(enumerator.Current.ListIndex); // return t.myCurrent(enumerator.Current.ListIndex);
return t.myCurrent(this.indexList[CurrentRow].ListIndex);
} }
} }

6
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Events/SectionRenderEventArgs.cs

@ -36,12 +36,14 @@ namespace ICSharpCode.Reports.Core {
public class RowRenderEventArgs : EventArgs public class RowRenderEventArgs : EventArgs
{ {
public RowRenderEventArgs (BaseRowItem row) public RowRenderEventArgs (BaseRowItem row,object rowData)
{ {
Row = row; Row = row;
RowData = rowData;
} }
BaseRowItem Row {get;set;} public BaseRowItem Row {get; private set;}
public object RowData {get; private set;}
} }

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

@ -72,13 +72,13 @@ namespace ICSharpCode.Reports.Core.Exporter
#region Events #region Events
protected void FireRowRendering (ISimpleContainer detailRow) protected void FireRowRendering (ISimpleContainer detailRow,IDataNavigator currentNavigator)
{ {
BaseRowItem row = detailRow as BaseRowItem; BaseRowItem row = detailRow as BaseRowItem;
if (row == null) { if (row == null) {
throw new ArgumentException("row"); throw new ArgumentException("row");
} }
RowRenderEventArgs rrea = new RowRenderEventArgs(row); RowRenderEventArgs rrea = new RowRenderEventArgs(row,currentNavigator.Current);
EventHelper.Raise<RowRenderEventArgs>(RowRendering,this,rrea); EventHelper.Raise<RowRenderEventArgs>(RowRendering,this,rrea);
} }
@ -144,10 +144,11 @@ namespace ICSharpCode.Reports.Core.Exporter
} }
} }
protected Point ConvertGroupChilds(ExporterCollection mylist, BaseSection section, ISimpleContainer simpleContainer) protected Point ConvertGroupChilds(ExporterCollection mylist, BaseSection section,
ISimpleContainer simpleContainer,IDataNavigator currentNavigator)
{ {
PrepareContainerForConverting(section,simpleContainer); PrepareContainerForConverting(section,simpleContainer);
FireRowRendering(simpleContainer); FireRowRendering(simpleContainer,currentNavigator);
Point curPos = BaseConvert(mylist,simpleContainer,DefaultLeftPosition,CurrentPosition); Point curPos = BaseConvert(mylist,simpleContainer,DefaultLeftPosition,CurrentPosition);
AfterConverting (mylist); AfterConverting (mylist);
return curPos; return curPos;

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

@ -104,10 +104,8 @@ namespace ICSharpCode.Reports.Core.Exporter
childNavigator.Fill(simpleContainer.Items); childNavigator.Fill(simpleContainer.Items);
base.CurrentPosition = ConvertGroupChilds (exporterCollection,section,simpleContainer); base.CurrentPosition = ConvertGroupChilds (exporterCollection,section,simpleContainer,childNavigator);
CheckForPageBreak(section,exporterCollection); CheckForPageBreak(section,exporterCollection);
} }
while ( childNavigator.MoveNext()); while ( childNavigator.MoveNext());
@ -124,7 +122,7 @@ namespace ICSharpCode.Reports.Core.Exporter
// No Grouping at all, the first item in section.items is the DetailRow // No Grouping at all, the first item in section.items is the DetailRow
Size containerSize = section.Items[0].Size; Size containerSize = section.Items[0].Size;
base.FireRowRendering(simpleContainer); base.FireRowRendering(simpleContainer,base.DataNavigator);
base.CurrentPosition = ConvertStandardRow (exporterCollection,section,simpleContainer); base.CurrentPosition = ConvertStandardRow (exporterCollection,section,simpleContainer);
section.Size = base.RestoreSectionSize; section.Size = base.RestoreSectionSize;

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

@ -105,7 +105,7 @@ namespace ICSharpCode.Reports.Core.Exporter
childNavigator.Fill(simpleContainer.Items); childNavigator.Fill(simpleContainer.Items);
base.CurrentPosition = ConvertGroupChilds (exporterCollection,section,table); base.CurrentPosition = ConvertGroupChilds (exporterCollection,section,simpleContainer,childNavigator);
simpleContainer.Size = containerSize; simpleContainer.Size = containerSize;
CheckForPageBreak(section,simpleContainer,headerRow,exporterCollection); CheckForPageBreak(section,simpleContainer,headerRow,exporterCollection);
@ -135,7 +135,7 @@ namespace ICSharpCode.Reports.Core.Exporter
PrintHelper.AdjustSectionLocation(section); PrintHelper.AdjustSectionLocation(section);
CheckForPageBreak(section,simpleContainer,headerRow,exporterCollection); CheckForPageBreak(section,simpleContainer,headerRow,exporterCollection);
base.FireRowRendering(simpleContainer); base.FireRowRendering(simpleContainer,base.DataNavigator);
base.CurrentPosition = ConvertStandardRow (exporterCollection,section,simpleContainer); base.CurrentPosition = ConvertStandardRow (exporterCollection,section,simpleContainer);
simpleContainer.Size = containerSize; simpleContainer.Size = containerSize;
section.Size = base.RestoreSectionSize; section.Size = base.RestoreSectionSize;

Loading…
Cancel
Save