mirror of
https://github.com/fralx/LimeReport.git
synced 2025-01-11 17:18:10 +03:00
Nested groups has been fixed
This commit is contained in:
parent
cc374c0a38
commit
55364608c3
@ -699,14 +699,26 @@ void ReportRender::renderGroupHeader(BandDesignIntf *parentBand, IDataSource* da
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ReportRender::renderGroupFooterByHeader(BandDesignIntf* groupHeader){
|
||||||
|
foreach (BandDesignIntf* header, groupHeader->childrenByType(BandDesignIntf::GroupHeader)){
|
||||||
|
renderGroupFooterByHeader(header);
|
||||||
|
}
|
||||||
|
foreach (BandDesignIntf* footer, groupHeader->childrenByType(BandDesignIntf::GroupFooter)){
|
||||||
|
renderBand(footer, 0, StartNewPageAsNeeded);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void ReportRender::renderGroupFooter(BandDesignIntf *parentBand)
|
void ReportRender::renderGroupFooter(BandDesignIntf *parentBand)
|
||||||
{
|
{
|
||||||
foreach(BandDesignIntf* band,parentBand->childrenByType(BandDesignIntf::GroupHeader)){
|
foreach(BandDesignIntf* band,parentBand->childrenByType(BandDesignIntf::GroupHeader)){
|
||||||
IGroupBand* gb = dynamic_cast<IGroupBand*>(band);
|
IGroupBand* gb = dynamic_cast<IGroupBand*>(band);
|
||||||
if (gb && gb->isStarted()){
|
if (gb && gb->isStarted()){
|
||||||
if (band->reprintOnEachPage()) m_reprintableBands.removeOne(band);
|
if (band->reprintOnEachPage()) m_reprintableBands.removeOne(band);
|
||||||
if (band->childBands().count()>0){
|
foreach(BandDesignIntf* header, band->childrenByType(BandDesignIntf::GroupHeader)){
|
||||||
renderBand(band->childBands().at(0), 0, StartNewPageAsNeeded);
|
renderGroupFooterByHeader(header);
|
||||||
|
}
|
||||||
|
foreach(BandDesignIntf* footer, band->childrenByType(BandDesignIntf::GroupFooter)){
|
||||||
|
renderBand(footer, 0, StartNewPageAsNeeded);
|
||||||
}
|
}
|
||||||
closeDataGroup(band);
|
closeDataGroup(band);
|
||||||
}
|
}
|
||||||
|
@ -151,6 +151,7 @@ private:
|
|||||||
qreal columnHeigth(int columnIndex);
|
qreal columnHeigth(int columnIndex);
|
||||||
qreal maxColumnHeight();
|
qreal maxColumnHeight();
|
||||||
void renameChildItems(BaseDesignIntf *item);
|
void renameChildItems(BaseDesignIntf *item);
|
||||||
|
void renderGroupFooterByHeader(BandDesignIntf *groupHeader);
|
||||||
private:
|
private:
|
||||||
DataSourceManager* m_datasources;
|
DataSourceManager* m_datasources;
|
||||||
ScriptEngineContext* m_scriptEngineContext;
|
ScriptEngineContext* m_scriptEngineContext;
|
||||||
@ -183,7 +184,6 @@ private:
|
|||||||
QVector<BandDesignIntf*> m_columnedBandItems;
|
QVector<BandDesignIntf*> m_columnedBandItems;
|
||||||
unsigned long long m_curentNameIndex;
|
unsigned long long m_curentNameIndex;
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
} // namespace LimeReport
|
} // namespace LimeReport
|
||||||
#endif // LRREPORTRENDER_H
|
#endif // LRREPORTRENDER_H
|
||||||
|
Loading…
Reference in New Issue
Block a user