mirror of
https://github.com/python-LimeReport/LimeReport.git
synced 2025-09-23 08:39:07 +03:00
TableBuilder has been fixed
This commit is contained in:
@@ -1137,7 +1137,7 @@ void BandDesignIntf::updateItemSize(DataSourceManager* dataManager, RenderPass p
|
||||
restoreLinks();
|
||||
snapshotItemsLayout();
|
||||
BandDesignIntf* patternBand = dynamic_cast<BandDesignIntf*>(patternItem());
|
||||
if (patternBand && pass == FirstPass) emit(patternBand->preparedForRender());
|
||||
|
||||
arrangeSubItems(pass, dataManager);
|
||||
if (autoHeight()){
|
||||
if (!keepTopSpace()) {
|
||||
|
@@ -1264,6 +1264,7 @@ BandDesignIntf *ReportRender::renderData(BandDesignIntf *patternBand)
|
||||
replaceGroupsFunction(bandClone);
|
||||
}
|
||||
|
||||
patternBand->preparedForRender();
|
||||
bandClone->updateItemSize(m_datasources);
|
||||
|
||||
//m_scriptEngineContext->baseDesignIntfToScript(bandClone);
|
||||
|
@@ -587,8 +587,7 @@ void ScriptEngineManager::clearTableOfContents(){
|
||||
}
|
||||
|
||||
ScriptValueType ScriptEngineManager::moveQObjectToScript(QObject* object, const QString objectName)
|
||||
{
|
||||
|
||||
{
|
||||
ScriptValueType obj = scriptEngine()->globalObject().property(objectName);
|
||||
if (!obj.isNull()) delete obj.toQObject();
|
||||
ScriptValueType result = scriptEngine()->newQObject(object);
|
||||
@@ -1934,7 +1933,7 @@ bool DatasourceFunctions::invalidate(const QString& datasourceName)
|
||||
return false;
|
||||
}
|
||||
|
||||
QObject* DatasourceFunctions::createTableBuilder(BaseDesignIntf* horizontalLayout)
|
||||
QObject* DatasourceFunctions::createTableBuilder(QObject* horizontalLayout)
|
||||
{
|
||||
return new TableBuilder(dynamic_cast<LimeReport::HorizontalLayout*>(horizontalLayout), dynamic_cast<DataSourceManager*>(m_dataManager));
|
||||
}
|
||||
@@ -1987,14 +1986,16 @@ void TableBuilder::buildTable(const QString& datasourceName)
|
||||
{
|
||||
checkBaseLayout();
|
||||
m_dataManager->dataSourceHolder(datasourceName)->invalidate(IDataSource::RENDER_MODE);
|
||||
m_dataManager->dataSource(datasourceName)->first();
|
||||
bool firstTime = true;
|
||||
QObject* row = m_horizontalLayout;
|
||||
while(!m_dataManager->dataSource(datasourceName)->eof()){
|
||||
if (!firstTime) row = addRow();
|
||||
else firstTime = false;
|
||||
fillInRowData(row);
|
||||
m_dataManager->dataSource(datasourceName)->next();
|
||||
IDataSource* ds = m_dataManager->dataSource(datasourceName);
|
||||
if (ds){
|
||||
bool firstTime = true;
|
||||
QObject* row = m_horizontalLayout;
|
||||
while(!ds->eof()){
|
||||
if (!firstTime) row = addRow();
|
||||
else firstTime = false;
|
||||
fillInRowData(row);
|
||||
ds->next();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -338,7 +338,7 @@ public:
|
||||
Q_INVOKABLE bool prior(const QString& datasourceName);
|
||||
Q_INVOKABLE bool isEOF(const QString& datasourceName);
|
||||
Q_INVOKABLE bool invalidate(const QString& datasourceName);
|
||||
Q_INVOKABLE QObject *createTableBuilder(BaseDesignIntf* horizontalLayout);
|
||||
Q_INVOKABLE QObject *createTableBuilder(QObject *horizontalLayout);
|
||||
private:
|
||||
IDataSourceManager* m_dataManager;
|
||||
};
|
||||
|
Reference in New Issue
Block a user