Grid son satır
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 37
- Kayıt: 03 Nis 2006 04:46
Grid son satır
Herkese merhaba
Çok saçma bir şeyle uğraşıyorum ama takıldım kaldım bana yardım ederseniz sevinirim.
Gridde ard arda satırları aşağı ok ile yeni satır açarak giriyorum. ama bu durumda son satır boş oluyor ve kullanıcı bu şekilde kaydetmeye kalktığında program o satırında doldurulmasını bekliyor. Ben satır boş ise o kaydın otomatik silinip kayıt işleminin yapılmasını istiyorum ama bir türlü olmadı. Sanki bir yerlerde bir özellikle oynamam gerekiyor ama bulamadım.
Çok saçma bir şeyle uğraşıyorum ama takıldım kaldım bana yardım ederseniz sevinirim.
Gridde ard arda satırları aşağı ok ile yeni satır açarak giriyorum. ama bu durumda son satır boş oluyor ve kullanıcı bu şekilde kaydetmeye kalktığında program o satırında doldurulmasını bekliyor. Ben satır boş ise o kaydın otomatik silinip kayıt işleminin yapılmasını istiyorum ama bir türlü olmadı. Sanki bir yerlerde bir özellikle oynamam gerekiyor ama bulamadım.
Tablonun BeforePost una aşağıdakini yaz
Bu şekilde kaydet demediğin sürece kaydetmez.

Kod: Tümünü seç
if DataSet.State in [dsEdit, dsInsert] then
DataSet.Cancel;
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
-
- Üye
- Mesajlar: 37
- Kayıt: 03 Nis 2006 04:46
Şöyle deneyin; Post işlemini sonlandırır fakat Edit/Insert modundan çıkmaz..
Düzeltme: Burada zaten Edit/Insert modunda olduğundan State i kontrole gerek yok
Kod: Tümünü seç
Abort;
Düzeltme: Burada zaten Edit/Insert modunda olduğundan State i kontrole gerek yok

En son rsimsek tarafından 09 Tem 2007 02:54 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kayıt için bir tuş tanımlıysa DBGrid in OnExit ına yukarıda yazdığım kod yazılmalı. Bunu sormamın sebebi tuşa basılacağından DBGrid in OnExit i tetiklenecek de ondan

Kod: Tümünü seç
if DBGrid1.DataSource.DataSet.State in [dsEdit, dsInsert] then
DBGrid1.DataSource.DataSet.Cancel;
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
-
- Üye
- Mesajlar: 37
- Kayıt: 03 Nis 2006 04:46
- White Rose
- Üye
- Mesajlar: 726
- Kayıt: 06 Tem 2005 09:41
- Konum: Güneyden
- İletişim:
Yukardaki hata HesapPlaniI alanına girişin zorunlu olduğunu söylüyor.
Generator alanın nasıl değer alacağını ayarladığınız kısımda sanırım
On Post seçeneğini seçmişsiniz bu durumda bu alana değer girmeniz gerekir, buradakaki seçeneği On new record yaparsanız numarayı kendi alır.
siz dataset ayarlarında yeni kayıt durumunun hangi olaya bağlı olduğunu kontrol edin.
Generator alanın nasıl değer alacağını ayarladığınız kısımda sanırım
On Post seçeneğini seçmişsiniz bu durumda bu alana değer girmeniz gerekir, buradakaki seçeneği On new record yaparsanız numarayı kendi alır.
siz dataset ayarlarında yeni kayıt durumunun hangi olaya bağlı olduğunu kontrol edin.
-
- Üye
- Mesajlar: 37
- Kayıt: 03 Nis 2006 04:46
- White Rose
- Üye
- Mesajlar: 726
- Kayıt: 06 Tem 2005 09:41
- Konum: Güneyden
- İletişim:
-
- Üye
- Mesajlar: 37
- Kayıt: 03 Nis 2006 04:46
- White Rose
- Üye
- Mesajlar: 726
- Kayıt: 06 Tem 2005 09:41
- Konum: Güneyden
- İletişim:
BeforePost olayına
yazdığınızda @rsimsek abimizin de dedigi gibi problemin cözülmesi lazim. Doğru dataSet olayına yazdığına emin misin.
Kod: Tümünü seç
if IBDataSet.FieldByName('HesapPlaniID').IsNull then Abort;
-
- Üye
- Mesajlar: 37
- Kayıt: 03 Nis 2006 04:46
cevap yazan tüm arkadaşlara teşekkürler. Özelliklede white Rose arkadaşım çok teşekkür ederim. Sayende sorun çözüldü: Ben Dataset'in Beforeinsert event inde default değerler atıyordum kafam bir türlü basmadı ki bu durumda o record edit yemiş oluyor o bilgileri onnewrecord event e alınca düzeldi.
Her zaman en basitten karmaşığa gitmek işe yarıyormuş her şeyi silip tek tek yapınca sorun çözüldü.
Her zaman en basitten karmaşığa gitmek işe yarıyormuş her şeyi silip tek tek yapınca sorun çözüldü.