grid üzerinde gezinti
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 69
- Kayıt: 02 Oca 2009 09:03
grid üzerinde gezinti
Arkadaşlar grid üzerinde gezinti yaparken panel üzerinde buluna normal editlerde o an konumlu olduğum kaydın bilgilerinin görünmesini istiyorum.Afterscroluna gerekli kodu yazıyorum ancak query açılıp kapanırken defalarca scroll olduğu için benim yazdığpım kodu defalarca işletiyor.Acaba bu yapmak istediğim işlemi nerede yapmam lazım.
Kullandığım ib komponentleri ve firebird veritabanı.Gerçi unidac komponentleriylede aynı sonucu veriyor.
Yardımlarınızı bekliyorum.
Kullandığım ib komponentleri ve firebird veritabanı.Gerçi unidac komponentleriylede aynı sonucu veriyor.
Yardımlarınızı bekliyorum.
Re: grid üzerinde gezinti
scroll içine bir if yapısı ile kontrol koymalısınız. data nesnesinin state'İ browse ise editlere veri atsın sadece.
-
- Üye
- Mesajlar: 69
- Kayıt: 02 Oca 2009 09:03
Re: grid üzerinde gezinti
Kod: Tümünü seç
if qr_firma.State= dsbrowse then firma_form.data_to_edit;
- sadettinpolat
- Moderator
- Mesajlar: 2131
- Kayıt: 07 Ara 2003 02:51
- Konum: Ankara
- İletişim:
Re: grid üzerinde gezinti
insert islemlerine baslmadan once
dataset.AfterScrol := nil diyerek baglantiyi kopartin.
insert ile kaydi ekleyin
post komutu ile kaydedin
dataset.afterscrol :=myAfterScrolEvent olarak baglantiyi yeniden saglayin.
dataset.AfterScrol := nil diyerek baglantiyi kopartin.
insert ile kaydi ekleyin
post komutu ile kaydedin
dataset.afterscrol :=myAfterScrolEvent olarak baglantiyi yeniden saglayin.
Re: grid üzerinde gezinti
Bunun nedeni grid verilerle dolduruluyorken tüm kayıtların okunuyor olması. Bunun için Query i açarken şöyle bir teknik izleyebilirsiniz.
Kod: Tümünü seç
procedure TForm1.KapatAc;
begin
Query1.AfterScroll := nil;
Query1.Close
Query1.Open;
Query1.AfterScroll := QueryAfterScroll;
QueryAfterScroll(Query);
end;
procedure TForm1.QueryAfterScroll(DataSet: TDataSet);
begin
Falan filan
Falan filan
end;
C. Sunguray
csunguray at netbilisim.kom
Net Bilişim Hizmetleri
Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
csunguray at netbilisim.kom
Net Bilişim Hizmetleri
Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
Re: grid üzerinde gezinti
Gridin datasource bağlı dbEdit yada dbLabel neden kullanmıyorsun ?
Kolay gele
Kolay gele
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
-
- Üye
- Mesajlar: 69
- Kayıt: 02 Oca 2009 09:03
Re: grid üzerinde gezinti
On scroll olayında da form ilk aktif olduğunda üzerinde bulunan kaydı görüntülemek istersek konumlu olduğumuz kaydı değştirmek gerekiyor.Birden fazla datanın olduğu tablolarda bir sıkıntı çıkmıyor.Ancak 1 kayıtlı bir tablomuz olduğunda ilk kaydı editlere aktaramıyoruz.
db komponentlere gelince ben onları kullanmayı sevmiyorum.
Ben bu olayı şöyle çzödüm.gridin keyup ve mouseup olaylarında
eğer konumlu olduğum kayıt ile gösterimde olduğum kayıt farklıysa datalarıeditlere aktar olayını yaptım ve çok güzel bir şekilde çalışıyor.
Ayrıca ilginiz için teşekkür ederim.
db komponentlere gelince ben onları kullanmayı sevmiyorum.
Ben bu olayı şöyle çzödüm.gridin keyup ve mouseup olaylarında
eğer konumlu olduğum kayıt ile gösterimde olduğum kayıt farklıysa datalarıeditlere aktar olayını yaptım ve çok güzel bir şekilde çalışıyor.
Ayrıca ilginiz için teşekkür ederim.
Re: grid üzerinde gezinti
ozaman Table ın PrimaryKey sine bir dbEdit bağla bununun visible nı False yap, dbEdit in onChange eventinede istediğin kodu yaz.Sadece PrimaryKey değiştiğinde bir kez çalışır.
Kolay gele
Kolay gele
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!