Troia eğitimlerimize devam ediyoruz.

Projemiz yavaş yavaş büyütüyoruz.

Bugün yapacağımız işlem NEW butonu yeni kayıt ekleme ile ilgili olacak.

Şu anda mevcut sistemde detay dialoguna NEW butonu ile girdiğimizde Editboxlar son seçimden kalmış veriler ile doldurulmuş oluyor.

Ama yapmak istediğimiz şu eğer tabloda herhangi bir değer seçilmeden NEW dersek bütün Editboxlar boş gelsin isteyeceğiz.

Öncelikle mevcut durumu bir görelim.

Verileri referans aldığını görüyoruz.

İstediğimiz işlem ise şu Grid üzerinde bir yere tıklamadığımda hiç bir veri yazılmasın EditBoxlara.

Bunun için şunu kontrol etmemiz yeterli olacak. Grid seçilimi ve MODI değeri 0 mı?

Ana dialog üzerinde Grid’in SELECTED özelliğini tutacak bir INTEGER değer tanımlayalım.

EDUPERSONAL.BEFORE

OBJECT:
INTEGER COPYR,
INTEGER MODI;

SELECT * 
	FROM EDUTESTTABLE 
	WHERE 1=2 
	INTO PERSONELBILGISI;

INTEGER COPYR değişkenini tanımladık.

Şimdi NEW butonuna bakalım.

EDUPERSONAL.NEW

MODI=0;

COPYR=PERSONELBILGISI_SELECTED;

CALL DIALOG EDUPERSON02;

PERSONELBILGISI bizim Gridimizin ismiydi. Ve SELECTED durumunu kodda olduğu gibi COPYR değişkenine atadık.

PERSONELBILGISI_SELECTED bu flag geriye ya 0 döner ya da 1.

Şimdi Detay Dialogumuzun AFTER metoduna odaklanalım.

EDUPERSON01.AFTER

IF MODI == 2 THEN
	SET SAVE TO DISABLE;
	SET GROUPBOX2 TO DISABLE;
ELSE
	SET SAVE TO ENABLE;
	SET GROUPBOX2 TO ENABLE;
ENDIF;


IF MODI == 0 && COPYR == 0 THEN
	PERSONELBILGISI_PERSONELNO='';
	PERSONELBILGISI_PERSONELNAME='';
	PERSONELBILGISI_PERSONELLASTNAME='';
	PERSONELBILGISI_BIRTHDATE=SYS_CURRENTDATE;
	PERSONELBILGISI_PHONENUMBER='';
	PERSONELBILGISI_DEPARTMENT='';
	PERSONELBILGISI_MAIL='';
	PERSONELBILGISI_STARTDATE=SYS_CURRENTDATE;
	PERSONELBILGISI_ADRESS='';
ENDIF;

IF değeri ile MODI den gelen değerin 0 olmasını ve COPYR değişkeninden gelen değerinden 0 olmasını kontrol ettik. Çünkü bunun anlamı Grid üzerinde hiç bir alan seçilmemiştir.

Böyle ise Editboxları boşalttık.

Bunu yapmak için farklı yöntemler mevcut bu yazımda normal bir değişkene değer atama işlemi yapar gibi yaptım.

PERSONELBILGISI_PERSONELNO=”;

SYS_CURRENTDATE sistem değişkenidir ve o andaki tarihi ekler.

Kodlarımız tamam olduğuna göre şimdi durumlarımızı kontrol edelim.

İşte başardık tamda istediğimiz gibi oldu.

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


What's Your Reaction?

hate hate
0
hate
fail fail
0
fail
fun fun
0
fun
geeky geeky
0
geeky
love love
0
love
lol lol
0
lol
omg omg
0
omg
win win
0
win
Murat Bilginer
21 Şubat 1992 Doğumlu. Endüstri Mühendisi olarak Lisansını 2016 yılında tamamlamıştır. Industryolog Akademi - NGenius oluşumlarının kurucusudur. Şu anda kendi şirketi Brainy Tech ile hem Yazılım Hizmetleri Sunmakta Hem de Online Eğitimler Vermektedir.