Merhaba arkadaşlar;
Cxgrid üzerinde bir kayıta çift tıklayıp başka bir ekranda o kayıtla ilgili işlemlerimi yapıyorum, kaydediyorum ve o ekranı kapatıyorum. Cxgridin olduğu ekrana geldiğinde ilk kayıta gidiyor, benim istediğim son değişiklik yapmış olduğum kayıta gitmesi?
Yardımlarınız için teşekkürler;
CxGrid seçilen kayıta geri dönme
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
- DarkEternal
- Üye
- Mesajlar: 158
- Kayıt: 19 Eki 2005 11:00
Eğer dbtableview kullanıyorsan en son seçili olan kaydın id sini sakla,
yeniden açtığındada
ile o kaydı seçili duruma getirebilirsiniz.
yeniden açtığındada
Kod: Tümünü seç
query.locate('id_alan_adi',id,[])
Diğer formda da aynı DataSet üzerinde işlem yapıyorsan bu normaldır. Ya aynı tabloya bağlı başka bir DataSet (Table/Query) kullanarak işlemleri yapacaksın ya da çift tıklamada o anki imlecin bulunduğu konumu saklayıp diğer forumu kapattığında tekrar sakladığın konuma konumlanacaksın. Bu arada ikinci formu da ShowModal açmalısın
Dediğim gibi aynı DataSet i kullanarak yaptıysan estetik olarak da pek hoş olmayacaktır. Çünkü sen diğer formda işlem yaparken gönderdiğin formda da kayıt göstergeci hareket edecektir


Kod: Tümünü seç
var
Sakla: TBookmark;
begin
with DBGrid1.DataSource.Dataset do // veya viw_cxDBGrid.DataController.DataSource.DataSet
begin
Sakla := GetBookmark;
Form2.ShowModal;
GotoBookmark(Sakla);
FreeBookmark(Sakla);
end;
end;
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
hocam ben size sorunumu anlatsam daha iyi. bir formda cxgrid ile islem tablomu göstermişim. başka bir formda bu tabloyla ilgili filtreleme veya locate gibi bir işlem yaptığımda sadece önceki cxgrid de hangi kayıtta ise ona kilitli kalıyor. dediğiniz gibi bookmark kullanmıyorum ama ben kilitlenmenin sebebi odur diye düşündüm. sizce ne olabilir ? (başka bir tabloda bile filtreleme yapsam islem tablosuna göre değer aldırsamda cxgridde hangi kayıttaysa ondakini alıyor.)