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:
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user