mirror of
https://github.com/fralx/LimeReport.git
synced 2024-12-24 00:33:02 +03:00
checkLostHeadersInPrevColumn() has been added
This commit is contained in:
parent
243fcc8fe3
commit
b5f2f50993
@ -1201,6 +1201,7 @@ BandDesignIntf *ReportRender::renderData(BandDesignIntf *patternBand)
|
||||
void ReportRender::startNewColumn(){
|
||||
if (m_currentColumn < m_maxHeightByColumn.size()-1){
|
||||
m_currentColumn++;
|
||||
checkLostHeadersInPrevColumn();
|
||||
} else {
|
||||
savePage();
|
||||
startNewPage();
|
||||
@ -1339,6 +1340,38 @@ void ReportRender::checkLostHeadersOnPrevPage()
|
||||
|
||||
}
|
||||
|
||||
void ReportRender::checkLostHeadersInPrevColumn()
|
||||
{
|
||||
QVector<BandDesignIntf*> lostHeaders;
|
||||
|
||||
QMutableListIterator<BandDesignIntf*>it(m_renderPageItem->bands());
|
||||
|
||||
it.toBack();
|
||||
if (it.hasPrevious()){
|
||||
if (it.previous()->isFooter()){
|
||||
if (it.hasPrevious()) it.previous();
|
||||
else return;
|
||||
}
|
||||
}
|
||||
|
||||
while (it.hasPrevious()){
|
||||
if (it.value()->isHeader()){
|
||||
if (it.value()->reprintOnEachPage()){
|
||||
delete it.value();
|
||||
} else { lostHeaders.append(it.value());}
|
||||
it.remove();
|
||||
it.previous();
|
||||
} else break;
|
||||
}
|
||||
|
||||
if (lostHeaders.size() > 0){
|
||||
qSort(lostHeaders.begin(), lostHeaders.end(), bandLessThen);
|
||||
foreach(BandDesignIntf* header, lostHeaders){
|
||||
registerBand(header);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
BandDesignIntf* ReportRender::findEnclosingGroup()
|
||||
{
|
||||
BandDesignIntf* result=0;
|
||||
|
@ -157,6 +157,7 @@ private:
|
||||
void checkFooterGroup(BandDesignIntf* groupBand);
|
||||
void pasteGroups();
|
||||
void checkLostHeadersOnPrevPage();
|
||||
void checkLostHeadersInPrevColumn();
|
||||
|
||||
BandDesignIntf* findEnclosingGroup();
|
||||
bool registerBand(BandDesignIntf* band, bool registerInChildren=true);
|
||||
|
Loading…
Reference in New Issue
Block a user