Saudara Mario kembali bertanya tentang avenue-dialog designer (Lihat posting sebelumnya http://inigis.info/blog/avenue-dialog-designer/).
Kurang lebih pertanyaannya adalah sebagai berikut :
Pada dialog designer diatas, bagaimana mengisi otomatis dropdown menu sesuai dengan databasenya (atributnya)?
Perlu dipahami bahwa untuk memunculkan unique value dari fieldnya, maka yang pertama script Anda harus mengaktifkan field tersebut terlebih dahulu. Baru kemudian membuat list unique value dari field tersebut. Dalam kasus saudara Mario, berarti akan ada 2 field yang akan diaktifkan. Selengkapnya script untuk jawaban pertanyaan diatas adalah sebagai berikut :
–script ini dipakai untuk membuka dialog dengan nama “dlg_IMB”, dengan nama combo box “cb_jenis” dan cb_no_IMB”. –Sedangkan nama theme yang aktif adalah “IMB.shp”, dan nama field yang aktif adalah “jenis” dan “no_IMB”.
TheView = av.GetActivedoc
Athemes = theView.GetactiveThemes
if (Athemes = nil) then
msgbox.error(“Tentukan Pilihan Tabel Terlebih Dahulu !!”,”Perhatian”)
exit
end
TheTheme = TheView.GetActivethemes.Get(0)
TheFtab = TheTheme.GetFtab
if (TheTheme.asstring = “IMB.shp”) then
Adlg = av.FindDialog(“dlg_IMB”)
if (Adlg =nil) then
msgbox.error(“FORM BELUM TERSEDIA “,”")
exit
end
end
Adlg.Open
Adlg.SetTitle (“DATA”)
theActiveField = TheFtab.FindField(“Jenis”)
theUniqueList = List.Make
for each rec in theFtab
theUniqueList.Add(theFTab.ReturnValue(theactiveField, rec))
theValue = Adlg.FindByName(“cb_Jenis”)
theValue.DefineFromList(theUniqueList)
if (theValue = NIL) then
return NIL
end
end
theActiveField2 = TheFtab.FindField(“no_IMB”)
theUniqueList2 = List.Make
for each rec in theFtab
theUniqueList2.Add(theFTab.ReturnValue(theactiveField2, rec))
theValue = Adlg.FindByName(“cb_no_IMB”)
theValue.DefineFromList(theUniqueList2)
if (theValue = NIL) then
return NIL
end
end
Mohon koreksi jika ada kesalahan script diatas dan selamat mencoba
Related posts:
- Avenue-Dialog Designer Saya mencoba membantu saudara Mario Chandra atas pertanyaannya di milis RS-GISForum beberapa hari yang lalu....
- Sampel Script Avenue : Membuat Inset View dengan Auto Update Sampel Script avenue berikut ini berfungsi untuk membuat view inset yang terupdate secara otomatis...
- Avenue – Pendahuluan Saya mencoba membagi hal yang saya tahu tentang Avenue, Script yang terdapat dalam ArcView 3....
- Sample Script Avenue : Aplikasi GIS untuk Pertanian Tutorial ArcView 3.x avenue script belum pernah saya berikan secara gamblang di blog ini....
- Video Tutorial ArcGIS : Customize Dialog Box ArcMap dan ArcCatalog bisa di kustom tanpa harus menulis sepenggal code pun. Membuat, menambah,...

Saya mau menanyakan tentang sepenggal script diatas,yaitu:
TheTheme = TheView.GetActivethemes.Get(0)
Apakah pengertian script diatas adalah mengaktifkan theme yang mempunyai beberapa legenda berdasarkan arraynya.Jadi program diatas hanya mempunyai 1 legenda pada posisi ke-0 dalam Theme yang aktif.Bagaimana kalau terdapat sebuah Theme yang mempunyai 5 legenda?Mohon bantuannya untuk memahami coding tersebut.Terimakasih.
script tersebut tidak berhubungan dengan legenda theme. script tersebut hanya ingin menegaskan satu theme saja yang aktif [get(0)], setelah sebelumnya dipilih theme yang ingin diaktifkan. kalo legenda gunakan script atheme.getlegend