0
0
mirror of https://github.com/fralx/LimeReport.git synced 2024-12-24 08:34:38 +03:00

Prevent double start new page by group headers

This commit is contained in:
Arin Alexander 2018-01-18 21:44:11 +03:00
parent 09a1edd108
commit ae4a022ecc
2 changed files with 7 additions and 4 deletions

View File

@ -148,7 +148,7 @@ void ReportRender::renameChildItems(BaseDesignIntf *item){
ReportRender::ReportRender(QObject *parent) ReportRender::ReportRender(QObject *parent)
:QObject(parent), m_renderPageItem(0), m_pageCount(0), :QObject(parent), m_renderPageItem(0), m_pageCount(0),
m_lastDataBand(0), m_lastRenderedFooter(0), m_currentColumn(0) m_lastDataBand(0), m_lastRenderedFooter(0), m_currentColumn(0), m_newPageStarted(false)
{ {
initColumns(); initColumns();
} }
@ -558,6 +558,7 @@ void ReportRender::renderDataBand(BandDesignIntf *dataBand)
renderBand(header, 0, StartNewPageAsNeeded); renderBand(header, 0, StartNewPageAsNeeded);
renderBand(dataBand, rawData, StartNewPageAsNeeded, !bandDatasource->hasNext()); renderBand(dataBand, rawData, StartNewPageAsNeeded, !bandDatasource->hasNext());
m_newPageStarted = false;
renderChildBands(dataBand); renderChildBands(dataBand);
} }
@ -729,7 +730,7 @@ void ReportRender::renderGroupHeader(BandDesignIntf *parentBand, IDataSource* da
} }
gb->startGroup(m_datasources); gb->startGroup(m_datasources);
openDataGroup(band); openDataGroup(band);
if (!firstTime && gb->startNewPage()){ if (!firstTime && gb->startNewPage() && !m_newPageStarted){
if (gb->resetPageNumber()) resetPageNumber(BandReset); if (gb->resetPageNumber()) resetPageNumber(BandReset);
if (band->reprintOnEachPage()){ if (band->reprintOnEachPage()){
savePage(); savePage();
@ -1085,8 +1086,9 @@ void ReportRender::startNewColumn(){
void ReportRender::startNewPage() void ReportRender::startNewPage()
{ {
m_renderPageItem=0; m_renderPageItem = 0;
m_currentColumn=0; m_currentColumn = 0;
m_newPageStarted = true;
initColumns(); initColumns();
initRenderPage(); initRenderPage();

View File

@ -185,6 +185,7 @@ private:
QList<PagesRange> m_ranges; QList<PagesRange> m_ranges;
QVector<BandDesignIntf*> m_columnedBandItems; QVector<BandDesignIntf*> m_columnedBandItems;
unsigned long long m_curentNameIndex; unsigned long long m_curentNameIndex;
bool m_newPageStarted;
}; };