diff --git a/src/core/layout/qgslayoutitemattributetable.cpp b/src/core/layout/qgslayoutitemattributetable.cpp index b935450c91e3..b46a0caec8fb 100644 --- a/src/core/layout/qgslayoutitemattributetable.cpp +++ b/src/core/layout/qgslayoutitemattributetable.cpp @@ -399,6 +399,8 @@ bool QgsLayoutItemAttributeTable::getTableContents( QgsLayoutTableContents &cont QgsExpressionContext context = createExpressionContext(); context.setFields( layer->fields() ); + QgsFeatureRequest req; + //prepare filter expression std::unique_ptr filterExpression; bool activeFilter = false; @@ -408,6 +410,7 @@ bool QgsLayoutItemAttributeTable::getTableContents( QgsLayoutTableContents &cont if ( !filterExpression->hasParserError() ) { activeFilter = true; + req.setFilterExpression( mFeatureFilter ); } } @@ -431,8 +434,6 @@ bool QgsLayoutItemAttributeTable::getTableContents( QgsLayoutTableContents &cont } } - QgsFeatureRequest req; - if ( mSource == QgsLayoutItemAttributeTable::RelationChildren ) { QgsRelation relation = mLayout->project()->relationManager()->relation( mRelationId );