diff --git a/common.pri b/common.pri index 5163922..ab673b2 100644 --- a/common.pri +++ b/common.pri @@ -62,7 +62,7 @@ RCC_DIR = $${ARCH_DIR}/$${BUILD_TYPE}/rcc LIMEREPORT_VERSION_MAJOR = 1 LIMEREPORT_VERSION_MINOR = 4 -LIMEREPORT_VERSION_RELEASE = 90 +LIMEREPORT_VERSION_RELEASE = 91 LIMEREPORT_VERSION = '\\"$${LIMEREPORT_VERSION_MAJOR}.$${LIMEREPORT_VERSION_MINOR}.$${LIMEREPORT_VERSION_RELEASE}\\"' DEFINES += LIMEREPORT_VERSION_STR=\"$${LIMEREPORT_VERSION}\" diff --git a/limereport/lrdatadesignintf.cpp b/limereport/lrdatadesignintf.cpp index 6c155ce..b98c4aa 100644 --- a/limereport/lrdatadesignintf.cpp +++ b/limereport/lrdatadesignintf.cpp @@ -692,6 +692,7 @@ bool CallbackDatasource::prior(){ void CallbackDatasource::first(){ m_currentRow = 0; + m_getDataFromCache = false; m_eof=checkIfEmpty(); bool result=false; diff --git a/limereport/lrpageitemdesignintf.cpp b/limereport/lrpageitemdesignintf.cpp index f13218d..a060aff 100644 --- a/limereport/lrpageitemdesignintf.cpp +++ b/limereport/lrpageitemdesignintf.cpp @@ -569,7 +569,8 @@ void PageItemDesignIntf::bandDeleted(QObject *band) } void PageItemDesignIntf::swapBands(BandDesignIntf* band, BandDesignIntf* bandToSwap){ - int startIndex = std::min(band->minChildIndex(), bandToSwap->minChildIndex()); + int firstStartIndex = std::min(band->minChildIndex(), bandToSwap->minChildIndex()); + int secondStartIndex = std::max(band->minChildIndex(), bandToSwap->minChildIndex()); // int endIndex = std::max(band->maxChildIndex(), bandToSwap->maxChildIndex()); // QList bandToMove; @@ -580,11 +581,11 @@ void PageItemDesignIntf::swapBands(BandDesignIntf* band, BandDesignIntf* bandToS BandDesignIntf* firstMoveBand = (bandToSwap->bandIndex() > band->bandIndex()) ? bandToSwap: band; - firstMoveBand->changeBandIndex(startIndex, true); + firstMoveBand->changeBandIndex(firstStartIndex, true); if (firstMoveBand == band){ - bandToSwap->changeBandIndex(firstMoveBand->maxChildIndex()+1,true); + bandToSwap->changeBandIndex(secondStartIndex,true); } else { - band->changeBandIndex(firstMoveBand->maxChildIndex()+1, true); + band->changeBandIndex(secondStartIndex, true); } relocateBands(); diff --git a/limereport/lrreportrender.cpp b/limereport/lrreportrender.cpp index 1999c77..ad98b90 100644 --- a/limereport/lrreportrender.cpp +++ b/limereport/lrreportrender.cpp @@ -928,7 +928,7 @@ bool ReportRender::registerBand(BandDesignIntf *band, bool registerInChildren) m_maxHeightByColumn.append(m_maxHeightByColumn[0]); m_currentStartDataPos.append(m_currentStartDataPos[0]); } - m_currentColumn = 0; + m_currentColumn = -1; } @@ -936,7 +936,7 @@ bool ReportRender::registerBand(BandDesignIntf *band, bool registerInChildren) (!band->isHeader() || (band->bandNestingLevel() > 0 && band->columnsFillDirection() != BandDesignIntf::Horizontal ))){ if (band->columnsFillDirection() == BandDesignIntf::Horizontal){ - if (m_currentColumncolumnsCount()-1) + if (m_currentColumn < band->columnsCount()-1) m_currentColumn = m_currentColumn+1; else m_currentColumn = 0;