11 Nisan 2012 Çarşamba

BalloonPopup Extender

   BalloonPopupExtender kontrolü içerisinde herhangi bir değer bulunan bir açılan pencere gösterir. Örneğin, BalloonPopupExtender kontrolünü herhangi bir TextBox kontrolüne tıklandığında bir yardım bilgisini göstermek için kullanabilirsiniz. 

   BalloonPopupExtender 3 farklı görüntüleme sitilini destekliyor : Balloon, Rectangle ve Custom. 3 farklı boyut seçeneğinden birini seçebilirsiniz : Small(küçük), Medium (orta), Large(büyük).Eğer sitil olarak Custom seçeneğini seçerseniz kendi tanımladığınız bir sitili kullanabilirsiniz. Bu durumda, CustomCssUrl özelliğini bir css ifadesi atamalısın. 5 farklı pozisyona ayarlayabilirsiniz : TopLeft(Yukarı-Sol), TopRight(Yukarı-Sağ), BottomLeft(Aşağı-Sol), BottomRight(Aşağı-Sağ) ve Auto (otomatik). Eğer Auto seçeneğini seçerseniz otomatik olarak uygun boş bir alanda açılır. Hangi durumda tetikleneceğini seçebilirsiniz : MouseOver(fare üzerine geldiğinde), Focus(odaklandığında) ve  Click(tıklandığında) olayları. Balloon Popup haricinde bir yere tıklarsanız kaybolur.

Özellikler:

  • TargetControlID - İlişkilendirilecek kontrolün ID değeri.
  • BalloonPopupControlID - Gösterilecek kontrolün ID değeri. (Genellikle Panel)
  • OffsetX/OffsetY - Balon açılır pencerenin hedef kontrolden ne kadar uzakta açılacağını belirtir. Varsayılan değeri 0'dır.
  • CustomClassName - Eğer sitil olarak Custom seçilmişse, sitilin css sınıfının adını alır.
  • UseShadow - Balonda gölge efektinin olup olmayacağını belirtir. Varsayılan değeri True.
  • ScrollBars - Eğer balon içindeki değer balondan taşarsa bu durumda nasıl bir gösterim olacağı bu özellik sayesinde belirlenir. 5 farklı değer alabilir. Horizontal, Vertical, None, Both, Auto. Varsayılan değeri Auto.
  • DisplayOnMouseOver - True değeri seçilirse balon fare hedef kontrolün üzerine gelince gözükür. Varsayılan değeri False.
  • DisplayOnFocus - Focus olayı meydana geldiğinde gözükür. Varsayılan değeri False.
  • DisplayOnClick - Fare ile tıklandığında balon gözükür. Varsayılan değeri True.
  • Animations - Eğer animasyon kullanmak istiyorsak bu özelliği kullanmalıyız.

   Geçtiğimiz günlerde keşfettiğim bir özelliği sizlerle paylaşmak istiyorum. Bu da verileri dinamik olarak bir web servis aracılığıyla getirmek. Peki bunu nasıl yapacağız :


  • DynamicServiceMethod : Servis metodumuzu buraya yazıyoruz Örneğin  DynamicServiceMethod="GetValues"
  • DynamicServicePath : Web servisimizin path değerini veriyoruz. Örneğin: DynamicServicePath="WebService1.asmx"
  • DynamicControlID : Verilerin gösterileceği kontrolün adı. Bir label kontrolü olabilir. Örneğin: DynamicControlID="Label1".
  • CacheDynamicResults : Verileri önbelleklemek istiyorsanız bu özelliği true yapabilirsiniz. Örneğin: CacheDynamicResults="true".
  • DynamicContextKey : Servis metodunuzda parametre olarak kullanmak istediğiniz değer. Eval ile bir veri de bağlayabilirsiniz. Örneğin : DynamicContextKey='<%# Eval("Ad") %>' şeklinde kullanabilirsiniz veya DynamicContextKey="Parametre" . Servis metodunda parametreyi kullanırken GetValues(string contextKey) şeklinde kullanabilirsiniz. Parametre adını değiştirmeyin, yani contextKey olarak kullanın. Farklı parametre adları metodun çalışmasına engel olabilir.
Not  : Bu özelliği kullanabilmek için web servisleri hakkında az çok bir şeyler bilmeniz gerekiyor. Eğer bu konuda hiç bir şey bilmiyorsanız önce web servislere bir göz atmanızı tavsiye ederim. Servis metodunuzun hatasız çalışması gerekiyor. En ufak bir hatada sonuçları göremezsiniz. Bazen bir hata mesajı bile alamayabilirsiniz. Servis metodunuzun çalıştığından ve yolları doğru tanımladığınızdan emin olun. Örneğin asmx uzantılı servis dosyanız bir klasörün altında ise DynamicServicePath ="KlasörAdi/WebService1.asmx" şeklinde olmalı.