0
0
mirror of https://github.com/fralx/LimeReport.git synced 2024-12-24 16:44:39 +03:00

Subdetail header render has been fixed

This commit is contained in:
Arin Alexander 2017-06-30 13:22:41 +03:00
parent 9c95206dfe
commit c3ff1ff462

View File

@ -430,7 +430,6 @@ BandDesignIntf* ReportRender::renderBand(BandDesignIntf *patternBand, BandDesign
if (patternBand->isFooter()) if (patternBand->isFooter())
m_lastRenderedFooter = patternBand; m_lastRenderedFooter = patternBand;
bandClone->setBackgroundColor( bandClone->setBackgroundColor(
(datasources()->variable(QLatin1String("line_")+patternBand->objectName().toLower()).toInt() %2 !=0 ? (datasources()->variable(QLatin1String("line_")+patternBand->objectName().toLower()).toInt() %2 !=0 ?
bandClone->backgroundColor(): bandClone->backgroundColor():
@ -505,6 +504,7 @@ void ReportRender::renderDataBand(BandDesignIntf *dataBand)
IDataSource* bandDatasource = 0; IDataSource* bandDatasource = 0;
m_lastRenderedFooter = 0; m_lastRenderedFooter = 0;
if (!dataBand->datasourceName().isEmpty()) if (!dataBand->datasourceName().isEmpty())
bandDatasource = datasources()->dataSource(dataBand->datasourceName()); bandDatasource = datasources()->dataSource(dataBand->datasourceName());
@ -524,7 +524,7 @@ void ReportRender::renderDataBand(BandDesignIntf *dataBand)
if (dataBand->bandHeader() && dataBand->bandHeader()->reprintOnEachPage()) if (dataBand->bandHeader() && dataBand->bandHeader()->reprintOnEachPage())
m_reprintableBands.append(dataBand->bandHeader()); m_reprintableBands.append(dataBand->bandHeader());
renderChildHeader(dataBand,PrintNotAlwaysPrintable); //renderChildHeader(dataBand,PrintNotAlwaysPrintable);
renderGroupHeader(dataBand, bandDatasource, true); renderGroupHeader(dataBand, bandDatasource, true);
bool firstTime = true; bool firstTime = true;
@ -658,7 +658,8 @@ void ReportRender::renderChildHeader(BandDesignIntf *parent, BandPrintMode print
if (band->metaObject()->indexOfProperty("printAlways")>0){ if (band->metaObject()->indexOfProperty("printAlways")>0){
printAlways=band->property("printAlways").toBool(); printAlways=band->property("printAlways").toBool();
} }
if (printAlways == (printMode==PrintAlwaysPrintable) ) renderBand(band, 0, StartNewPageAsNeeded); if ((band != m_lastRenderedHeader) && (printAlways == (printMode == PrintAlwaysPrintable)) )
renderBand(band, 0, StartNewPageAsNeeded);
} }
} }
@ -682,9 +683,9 @@ void ReportRender::renderChildBands(BandDesignIntf *parentBand)
if (!band->datasourceName().isEmpty()) if (!band->datasourceName().isEmpty())
ds = m_datasources->dataSource(band->datasourceName()); ds = m_datasources->dataSource(band->datasourceName());
if (ds) ds->first(); if (ds) ds->first();
renderChildHeader(band,PrintAlwaysPrintable); //renderChildHeader(band,PrintAlwaysPrintable);
renderDataBand(band); renderDataBand(band);
renderChildFooter(band,PrintAlwaysPrintable); //renderChildFooter(band,PrintAlwaysPrintable);
closeFooterGroup(band); closeFooterGroup(band);
} }
} }