mirror of
https://github.com/qgis/QGIS.git
synced 2025-12-30 00:29:39 -05:00
Fix request NoGeom flag when sort needs geom
This commit is contained in:
parent
dd7d2af08c
commit
e115e6df08
@ -217,16 +217,18 @@ QgsAttributeTableDialog::QgsAttributeTableDialog( QgsVectorLayer *layer, QgsAttr
|
||||
{
|
||||
request.setFilterExpression( filterExpression );
|
||||
}
|
||||
if ( !needsGeom )
|
||||
request.setFlags( Qgis::FeatureRequestFlag::NoGeometry );
|
||||
|
||||
if ( !needsGeom && ( !mLayer || !QgsExpression( mLayer->attributeTableConfig().sortExpression() ).needsGeometry() ) )
|
||||
{
|
||||
request.setFlags( Qgis::FeatureRequestFlag::NoGeometry );
|
||||
}
|
||||
|
||||
// Initialize dual view
|
||||
if ( mLayer )
|
||||
{
|
||||
request.setSubsetOfAttributes( mMainView->requiredAttributes( mLayer ) );
|
||||
mMainView->init( mLayer, QgisApp::instance()->mapCanvas(), request, editorContext, false );
|
||||
QgsAttributeTableConfig config = mLayer->attributeTableConfig();
|
||||
const QgsAttributeTableConfig config = mLayer->attributeTableConfig();
|
||||
mMainView->setAttributeTableConfig( config );
|
||||
mFeatureFilterWidget->init( mLayer, editorContext, mMainView, QgisApp::instance()->messageBar(), QgsMessageBar::defaultMessageTimeout() );
|
||||
}
|
||||
|
||||
@ -1053,12 +1053,9 @@ void QgsAttributeTableModel::prefetchSortData( const QString &expressionString,
|
||||
widgetData = getWidgetData( cache.sortFieldIndex );
|
||||
}
|
||||
|
||||
QgsFeatureRequest request = QgsFeatureRequest( mFeatureRequest )
|
||||
.setSubsetOfAttributes( cache.sortCacheAttributes );
|
||||
|
||||
// If expression does not need geometry set NoGeometry flag
|
||||
if ( !cache.sortCacheExpression.needsGeometry() )
|
||||
request.setFlags( request.flags() | Qgis::FeatureRequestFlag::NoGeometry );
|
||||
const QgsFeatureRequest request = QgsFeatureRequest( mFeatureRequest )
|
||||
.setFlags( cache.sortCacheExpression.needsGeometry() ? Qgis::FeatureRequestFlag::NoFlags : Qgis::FeatureRequestFlag::NoGeometry )
|
||||
.setSubsetOfAttributes( cache.sortCacheAttributes );
|
||||
|
||||
QgsFeatureIterator it = mLayerCache->getFeatures( request );
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user