@@ -247,15 +247,16 @@ void QgsAttributeTableModel::loadAttributes()
247
247
248
248
for ( int idx = 0 ; idx < fields.count (); ++idx )
249
249
{
250
- QgsEditorWidgetFactory* widgetFactory = QgsEditorWidgetRegistry::instance ()-> factory ( layer ()->editorWidgetV2 ( idx ) );
251
- if ( ! widgetFactory || ! layer () )
252
- continue ;
253
-
254
- mWidgetFactories .append ( widgetFactory );
255
- mWidgetConfigs .append ( layer ()->editorWidgetV2Config ( idx ) );
256
- mAttributeWidgetCaches .append ( widgetFactory->createCache ( layer (), idx, mWidgetConfigs .last () ) );
250
+ const QString widgetType = layer ()->editorWidgetV2 ( idx );
251
+ QgsEditorWidgetFactory* widgetFactory = QgsEditorWidgetRegistry::instance ()-> factory ( widgetType );
252
+ if ( widgetFactory && widgetType != " Hidden " )
253
+ {
254
+ mWidgetFactories .append ( widgetFactory );
255
+ mWidgetConfigs .append ( layer ()->editorWidgetV2Config ( idx ) );
256
+ mAttributeWidgetCaches .append ( widgetFactory->createCache ( layer (), idx, mWidgetConfigs .last () ) );
257
257
258
- attributes << idx;
258
+ attributes << idx;
259
+ }
259
260
}
260
261
261
262
if ( mFieldCount < attributes.size () )
@@ -503,7 +504,7 @@ QVariant QgsAttributeTableModel::data( const QModelIndex &index, int role ) cons
503
504
504
505
if ( role == Qt::DisplayRole )
505
506
{
506
- return mWidgetFactories [ fieldId ]->representValue ( layer (), fieldId, mWidgetConfigs [ fieldId ], mAttributeWidgetCaches [ fieldId ], val );
507
+ return mWidgetFactories [ index. column () ]->representValue ( layer (), fieldId, mWidgetConfigs [ index. column () ], mAttributeWidgetCaches [ index. column () ], val );
507
508
}
508
509
509
510
return val;
0 commit comments