Existe-t-il un moyen de rafraîchir la table attributaire d'une couche après avoir édité la table (par exemple ajouter une colonne) dans DB-Manager?
qgis
attribute-table
database
Mer lunaire
la source
la source
Réponses:
Court et doux:
Change vector datasource
.OK
sans modifier aucun des paramètres.Fondamentalement, vous "modifiez" la source de données vectorielles à ce qu'elle était déjà, mais cela force QGIS à recharger la définition de la couche.
Testé dans QGIS 2.14 sous Linux Mint 17.2.
la source
En supposant que vous travaillez avec une base de données PostGIS, vous pouvez mettre à jour les statistiques de la table d'intérêt en utilisant la
ANALYSE
fonction: http://www.postgresql.org/docs/current/static/sql-analyze.htmlDans votre cas, vous pouvez exécuter l'instruction à l'intérieur du gestionnaire de base de données en appuyant sur le bouton marqué dans l'image jointe et en exécutant l'
ANALYSE
instruction dans la fenêtre, qui est également marquée. La requête seraitANALYSE yourschema.yourtable
. La commande d'analyse devrait mettre à jour votre table, de sorte que lorsque vous accédez à nouveau aux informations, elle reflète les modifications que vous avez apportées.la source
Est-ce que je comprends bien si vous voulez actualiser la table dans QGIS après une modification des colonnes?
Pour autant que je sache, seulement fermer et ouvrir le projet ou rajouter la table fera que cela se produira. Tant que vous avez enregistré le style par défaut dans la base de données, ce qui pourrait être le moyen le plus rapide.
Lorsqu'une colonne est ajoutée avec la calculatrice de champ, les modifications sont instantanément visibles, mais le gestionnaire de base de données offre plus de contrôle dans la définition du type de champ, donc je comprends pourquoi ce n'est peut-être pas une solution.
la source
layer.dataProvider().forceReload()
devrait faire l'affaire