diff --git a/src/gui/attributetable/qgsattributetablemodel.cpp b/src/gui/attributetable/qgsattributetablemodel.cpp index c1f8f362714a..d6141a5b0a78 100644 --- a/src/gui/attributetable/qgsattributetablemodel.cpp +++ b/src/gui/attributetable/qgsattributetablemodel.cpp @@ -711,14 +711,14 @@ QVariant QgsAttributeTableModel::data( const QModelIndex &index, int role ) cons { mExpressionContext.setFeature( mFeat ); QList styles; - if ( mRowStylesMap.contains( index.row() ) ) + if ( mRowStylesMap.contains( mFeat.id() ) ) { - styles = mRowStylesMap[index.row()]; + styles = mRowStylesMap[mFeat.id()]; } else { styles = QgsConditionalStyle::matchingConditionalStyles( layer()->conditionalStyles()->rowStyles(), QVariant(), mExpressionContext ); - mRowStylesMap.insert( index.row(), styles ); + mRowStylesMap.insert( mFeat.id(), styles ); } QgsConditionalStyle rowstyle = QgsConditionalStyle::compressStyles( styles ); @@ -756,7 +756,7 @@ bool QgsAttributeTableModel::setData( const QModelIndex &index, const QVariant & if ( !layer()->isModified() ) return false; - mRowStylesMap.remove( index.row() ); + mRowStylesMap.remove( mFeat.id() ); return true; }