Bu yazımda Enable Disable olayına el atıyor olacağız.

Bunu daha önce ilk derslerimizde anlatmıştım. Butonların Enable veya Disable durumları AFTER metodu içinde kontrol edilir.

Şu anda ilk önce kodlamaya başlamadan önce normal halimize bir bakalım.

Yapacağımız işlem şu, form ilk açıldığında SEARCH butonu hariç tüm butonların ENABLE yani tıklanabilirlik durumlarını false yapacağız.

Bunu AFTER Metoduna yazacağız.

SET SHOW TO DISABLE;
SET CHANGE TO DISABLE;
SET NEW TO DISABLE;
SET DELETE TO DISABLE;

Bir butonun durumu farklı bir duruma ayarlanmak isterse işlem

SET  [Komponentİsmi] TO Durum;

SET SHOW TODISABLE;  gibi.

Şu anda form açıldığında belirttiğimiz bu butonların DISABLE olarak göreceğiz.

Görüldüğü gibi butonlarımız artık tıklanamaz durumda.

Şimdi şunu yapalım. SEARCH butonuna tıklayınca. Eğer Grid üzerinde veri listelenirse bütün butonların ENABLE özelliğini true duruma getirelim.

Bunu için kodlamamızı SEARCH butonu altına yapıyoruz.

OBJECT : 
 STRING SELWHERE;

SELWHERE='PERSONELNO LIKE '+TOCHAR(39)+CP(PERSONELNO)+TOCHAR(39);
SELWHERE=SELWHERE+' AND PERSONELNAME LIKE'+TOCHAR(39)+CP(PERSONELADI)+TOCHAR(39);
SELWHERE=SELWHERE+' AND PERSONELLASTNAME LIKE'+TOCHAR(39)+CP(PERSONELSOYADI)+TOCHAR(39);
SELWHERE=SELWHERE+' AND PHONENUMBER LIKE'+TOCHAR(39)+CP(TELEFONNO)+TOCHAR(39);
SELWHERE=SELWHERE+' AND DEPARTMENT LIKE'+TOCHAR(39)+CP(DEPARTMAN)+TOCHAR(39);
SELWHERE=SELWHERE+' AND MAIL LIKE'+TOCHAR(39)+CP(MAIL)+TOCHAR(39);
SELWHERE=SELWHERE+' AND BIRTHDATE <= DOGUMTARIHI ';
SELWHERE=SELWHERE+' AND STARTDATE <= ISEBASLAMATARIHI';
SELECT * 
	FROM EDUTESTTABLE 
	WHERE @SELWHERE 
	INTO PERSONELBILGISI;


IF NOTSELECTED THEN
	SET SHOW TO DISABLE;
	SET CHANGE TO DISABLE;
	SET NEW TO DISABLE;
	SET DELETE TO DISABLE;
ELSE
	SET SHOW TO ENABLE;
	SET CHANGE TO ENABLE;
	SET NEW TO ENABLE;
	SET DELETE TO ENABLE;
ENDIF;

Burada dikkat etmemiz gereken yer kontrol mekanizmamız. NOTSELECTED Action Flag’i Grid üzerinde veri olup olmadığını kontrol eder. Eğer var ise false yok ise true dönecektir.

Burada veri gelmezse butonları erişime kapattık. Eğer veri gelirse ELSE kısmında butonları erişime açtık.

Şimdi adım adım görelim.

 

Böylelikle duruma göre komponentleri nasıl Enable yada Disable durumuna geçirdiğimizi gördük.

Bir sonraki yazımda görüşmek üzere.


muratbilginer