0
0
mirror of https://github.com/fralx/LimeReport.git synced 2025-11-25 00:18:06 +03:00

Group bands have been fixed

Port property has been added to connection describer

# Conflicts:
#	limereport/lrreportrender.cpp
This commit is contained in:
Arin Alexander
2018-01-18 20:34:27 +03:00
6 changed files with 129 additions and 79 deletions

View File

@@ -764,14 +764,20 @@ void ReportRender::renderGroupHeader(BandDesignIntf *parentBand, IDataSource* da
}
if (gb && !gb->isStarted()){
if (band->reprintOnEachPage())
if (band->reprintOnEachPage()){
m_reprintableBands.append(band);
}
gb->startGroup(m_datasources);
openDataGroup(band);
BandDesignIntf* renderedHeader = 0;
if (!firstTime && gb->startNewPage()){
if (gb->resetPageNumber()) resetPageNumber(BandReset);
renderedHeader = renderBand(band, 0, ForcedStartPage);
if (band->reprintOnEachPage()){
savePage();
startNewPage();
} else {
renderedHeader = renderBand(band, 0, ForcedStartPage);
}
} else {
renderedHeader = renderBand(band, 0, StartNewPageAsNeeded);
}
@@ -890,6 +896,14 @@ void ReportRender::closeDataGroup(BandDesignIntf *band)
if (groupBand){
groupBand->closeGroup();
if (band->reprintOnEachPage()) m_reprintableBands.removeOne(band);
QList<BandDesignIntf*>::Iterator it = m_reprintableBands.begin();
while (it != m_reprintableBands.end()){
if ((*it)->bandIndex()>band->bandIndex())
it = m_reprintableBands.erase(it);
else
it++;
}
}
recalcIfNeeded(band);
closeGroup(band);
@@ -1178,7 +1192,6 @@ void ReportRender::startNewPage(bool isFirst)
m_dataAreaSize = m_maxHeightByColumn[m_currentColumn];
m_renderedDataBandCount = 0;
foreach (BandDesignIntf* band, m_reprintableBands) {
renderBand(band, 0);
}