Creare moduli con filtro dinamico (anche multi-selezione)↵
Una delle novità introdotte nella QGIS 3.2 è la Form drill-down (a cascata) WIDGET Value Relation (Relazione valore) che permette di creare delle Form con filtro dinamico, in questo esercizio vedremo come realizzare una Form semplice e una multiselezione.
Form semplice selezione 1:1↵
- espressione da usare:
Form avanzato n:m↵
- espressione da usare:
eval( ' "cod_prov" in' || replace(current_value('provincia'),array('{','}', '"'),array('(',')', '\'')))
Espressione di Pedro Venâncio con suggerimento di Alexandre Neto - Lista QGIS dev
Form avanzato con spatial join 1:m↵
- espressione da scrivere in
Espressione filtro
nel primo campo della form:
aggregate(
layer:='province_siciliane',
aggregate:='concatenate',
expression:= "DEN_PCM",
filter:= intersects(@current_geometry, geometry(@parent) )
)
o più semplicemente (e anche più performante)
- Nel caso volessimo filtrare la feature più vicina (quindi non necessariamnete intersecante):
- espressione da scrivere in
Espressione filtro
nel secondo campo della form:
eval( ' "cod_prov" in' || replace(current_value('provincia'),array('{','}', '"'),array('(',')', '\'')))
Espressione di Pedro Venâncio con suggerimento di Alexandre Neto - Lista QGIS dev
funzione aggregate
Prova tu↵
Geopackage con dati e progetto Nel GeoPackage sono state memorizzate i tre stili usati per il form!!!
Riferimenti↵
Issue: https://github.com/qgis/QGIS/issues/33046
Funzioni e variabili utilizzate: