Apakah ada cara untuk me-refresh tabel atribut layer setelah mengedit tabel (misalnya menambahkan kolom) di DB-Manager?
qgis
attribute-table
database
Laut Bulan
sumber
sumber
Jawaban:
Pendek dan manis:
Change vector datasource
.OK
tanpa mengubah salah satu pengaturan.Pada dasarnya, Anda "mengubah" sumber data vektor ke apa yang sudah ada sebelumnya, tetapi ini memaksa QGIS untuk memuat ulang definisi layer.
Diuji dalam QGIS 2.14 pada Linux Mint 17.2.
sumber
Dengan asumsi bahwa Anda bekerja dengan database PostGIS, Anda dapat memperbarui statistik tabel minat dengan menggunakan
ANALYSE
fungsi: http://www.postgresql.org/docs/current/static/sql-analyze.htmlDalam kasus Anda, Anda dapat menjalankan pernyataan di dalam DB-manager dengan menekan tombol yang ditandai pada gambar terlampir dan mengeksekusi
ANALYSE
pernyataan di jendela, yang juga ditandai. Kueri akan menjadiANALYSE yourschema.yourtable
. Perintah analisis harus memperbarui tabel Anda, sehingga ketika Anda mengakses kembali informasi itu harus mencerminkan perubahan yang telah Anda buat.sumber
Apakah saya mengerti dengan baik jika Anda bermaksud me-refresh tabel di QGIS setelah perubahan pada kolom dibuat?
Sejauh yang saya tahu, hanya menutup dan membuka proyek atau menambahkan kembali tabel akan membuat ini terjadi. Selama Anda menyimpan gaya default di database yang mungkin merupakan cara tercepat.
Ketika kolom ditambahkan dengan Kalkulator Bidang, perubahannya langsung terlihat tetapi manajer DB menawarkan lebih banyak kontrol dalam menentukan jenis bidang jadi saya mengerti mengapa itu mungkin bukan solusi.
sumber
layer.dataProvider().forceReload()
harus melakukan triknya