ADF autoSuggest kullanımı
Bu yazıda da adf in sunduğu auto suggest behavior özelliğinden bahsedeceğim. Örneğimizde HR scheması altında bulunan Countries tablosundan oluşturduğum entity ve view nesnelerini kullanacağım. Kullanıcı ülke ismi alanına veri girerken girdiği harfe uygun ülke listesini otomatik olarak getirip kullanıcının buradan ülke ismini seçmesini sağlayacağım.
Oluşturduğum country entity ve view objecleri şu şekilde;
CountriesVO view objectini açalım, attributes sekmesinden CountryName alanını seçip aşağıda işaretlediğim "List of Values" sekmesine geçerek "add list of values" ikonuna tıklayalım;
Açılan LoV oluşturma ekranında "Create new view accessor" ikonuna tıklayıp view accessor oluşturalım;
view accessors için kullanacağımız view object;
list attribute için countryName değerini seçelim;
Ardından UI Hints sekmesine geçelim. Ve aşağıda işaretlediğim şekilde ilgili değerleri seçelim ve OK butonuna basarak Lov yi oluşturalım.
LoV oluşturduysanız görüntü şu şekilde olmalı;
Şimdide oluşturduğumuz bu nesneleri view controller projesinde oluşturacağımız web sayfamızda kullanarak kullanıcı arabirimini oluşturalım. View Controller projesi üzerinde sağ tıklayarak New > Page yolunu seçelim;
Açılan "Create JSF Page" penceresinde ok butonuna basarak sayfamızı oluşturalım;
Oluştruğumuz sayfa üzerine "Data Controls" üzerinden CountriesVO1 nesnesini sürükleyip jsf sayfamızın üzeine bırakalım ve bu data control nesnesini kullanarak oluşturmak istediğimiz elemanı seçelim;
Örneğimizle alakalı olmadığı için herhangi bir değişiklik yapmadan OK butonuna basıp ADF Form'u oluşturuyoruz;
Artık auto suggest özelliğini gerekli elemana bağlayabiliriz. Components penceresinden Behavior grubunu açalım ve aşağıda işaretlediğim "Auto suggest behavior" özelliğini sürükleyip formumuz üzerinde bulunan countryName item'ı üzerine bırakalım, ekran görüntüsünde de görebileceğiniz üzere tam item'ın üzerine bırakıyoruz, item'ın üzerine geldiğimizde kırmızı transparan bir kutu çıkıyor;
Auto suggest özelliğini form üzerine bıraktıktan sonra structure penceresinden auto suggest item'ını seçelim ve bu item'ın properties penceresinden SuggestedItems özelliğini seçelim. Alanının sağ tarafında dişli çark işareti göreceksiniz(aşağıdaki ekran görüntüsünde bu çark yok çünkü ben tıkladığım için kaybolup yerine popup çıktı), bu çarka tıklayın ve açılan popup menüden "Method expression builder" ı seçelim;
Açılan pencerede ister üstteki expression alanına kendiniz yazın isterseniz alt taraftaki tree yapısından seçim yaparak bu değerin otomatik olarak yazılmasını sağlayın ve OK butonuna basın;
Artık yaptığımız işlemi test edelim, project penceresinden oluşturduğumuz jsf sayfasını seçip sağ tıklayarak run diyelim;
CountryName alanına auto suggest özelliği bağlamıştık, alana harf girelim ve neler oluyor görelim;
"A" harfini girdim ve A ile başlayan ülke listesi(veritabanında bulunan Countries tablosunda bulunan kayıtlar) otomatik olarak açıldı. Şimdide içeride olmayan bir kayıt için neler olduğunu görelim, mesela X ile başlayan bir ülke yok tablomuzda;
İyi çalışmalar.