Merhaba, Personel Yönetim Sistemini geliştirmeye kaldığımız yerden devam ediyoruz.

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 TO DISABLE;

Ş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 Component’leri nasıl Enable ya da Disable durumuna geçirdiğimizi gördük.

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


Murat Bilginer
21 Şubat 1992'de doğdum. Endüstri Mühendisi olarak lisansımı 2016 yılında tamamladım. Industryolog Akademi - NGenius oluşumlarının kurucusuyum. Şu anda kendi şirketim Brainy Tech ile Web ve Mobil Geliştirme, AWS, Google Cloud Platform Sistemleri için DevOps, Big Data Analiz ve Görselleştirme hizmetleri sunmakta ve Online Eğitimler vermekteyiz.