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 @@ -71,7 +71,8 @@ namespace ICSharpCode.Reports.Core
public object Current {
get {
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 { @@ -36,12 +36,14 @@ namespace ICSharpCode.Reports.Core {
public class RowRenderEventArgs : EventArgs
{
public RowRenderEventArgs (BaseRowItem row)
public RowRenderEventArgs (BaseRowItem row,object rowData)
{
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 @@ -72,13 +72,13 @@ namespace ICSharpCode.Reports.Core.Exporter
#region Events
protected void FireRowRendering (ISimpleContainer detailRow)
protected void FireRowRendering (ISimpleContainer detailRow,IDataNavigator currentNavigator)
{
BaseRowItem row = detailRow as BaseRowItem;
if (row == null) {
throw new ArgumentException("row");
}
RowRenderEventArgs rrea = new RowRenderEventArgs(row);
RowRenderEventArgs rrea = new RowRenderEventArgs(row,currentNavigator.Current);
EventHelper.Raise<RowRenderEventArgs>(RowRendering,this,rrea);
}
@ -144,10 +144,11 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -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);
FireRowRendering(simpleContainer);
FireRowRendering(simpleContainer,currentNavigator);
Point curPos = BaseConvert(mylist,simpleContainer,DefaultLeftPosition,CurrentPosition);
AfterConverting (mylist);
return curPos;

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

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

Loading…
Cancel
Save