0
0
mirror of https://github.com/fralx/LimeReport.git synced 2024-12-24 08:34:38 +03:00

Callback datasource has been fixed

This commit is contained in:
Arin Alexander 2017-06-23 16:04:45 +03:00
commit 69feef3d98
2 changed files with 9 additions and 6 deletions

View File

@ -69,7 +69,7 @@ RCC_DIR = $${ARCH_DIR}/$${BUILD_TYPE}/rcc
LIMEREPORT_VERSION_MAJOR = 1
LIMEREPORT_VERSION_MINOR = 4
LIMEREPORT_VERSION_RELEASE = 18
LIMEREPORT_VERSION_RELEASE = 22
LIMEREPORT_VERSION = '\\"$${LIMEREPORT_VERSION_MAJOR}.$${LIMEREPORT_VERSION_MINOR}.$${LIMEREPORT_VERSION_RELEASE}\\"'
DEFINES += LIMEREPORT_VERSION_STR=\"$${LIMEREPORT_VERSION}\"

View File

@ -638,15 +638,19 @@ QVariant MasterDetailProxyModel::masterData(QString fieldName) const
bool CallbackDatasource::next(){
if (!m_eof){
bool nextRowExists = checkNextRecord(m_currentRow);
if (m_currentRow>-1){
if (!m_getDataFromCache && checkNextRecord(m_currentRow)){
if (!m_getDataFromCache && nextRowExists){
for (int i = 0; i < m_columnCount; ++i ){
m_valuesCache[columnNameByIndex(i)] = data(columnNameByIndex(i));
}
}
}
}
if (!nextRowExists){
m_eof = true;
return false;
}
m_currentRow++;
bool result = true;
if (!m_getDataFromCache)
@ -670,7 +674,6 @@ bool CallbackDatasource::prior(){
if (m_currentRow !=-1) {
if (!m_getDataFromCache && !m_valuesCache.isEmpty()){
m_getDataFromCache = true;
if (eof()) m_currentRow--;
m_currentRow--;
m_eof = false;
return true;
@ -701,7 +704,7 @@ void CallbackDatasource::first(){
QVariant CallbackDatasource::data(const QString& columnName)
{
QVariant result;
if (!eof() && !bof())
if (!bof())
{
if (!m_getDataFromCache){
CallbackInfo info;