Avenue - Dialog Designer - Menu Dropdown List
Sep 20, 2007 ArcView 3.x
Sponsored Links
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
Tags: Avenue


Blog Geographic Information System (GIS) ini adalah tempat berbagi tentang pengetahun dan pemahaman saya tentang GIS, tools yang berkaitan dengan GIS,Tips dan tricks GIS, serta informasi terbaru dan terupdate seputar GIS. 
September 28th, 2007 at 8:59 am
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.
October 1st, 2007 at 3:27 am
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