Cursoru DbGrid 'in başına konumlandırmak istiyorum.

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Berdem
Üye
Mesajlar: 431
Kayıt: 28 Tem 2003 12:28

Cursoru DbGrid 'in başına konumlandırmak istiyorum.

Mesaj gönderen Berdem »

Merhaba Arkadaşlar,
İbdataset.Locate sorgulamasında cursor gridin son satırına konumlanıyor.Ben yazdığım program nedeniyle bunun gridin ilk satırında konumlandırmak istiyorum. Yardımlarınızı bekliyorum.
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

Hmm. Sanırım Locate yaptıktan sonra DBGrid.ScrollBy ile başa kaydırman gerekecek. Kullanıcı kaydırdığını farkedemeyecektir. İş görebilir.
Berdem
Üye
Mesajlar: 431
Kayıt: 28 Tem 2003 12:28

Mesaj gönderen Berdem »

Merhaba bunlardan hiç biri sonuç vermedi.Biraz daha detay verebilirmisiniz.
// DBGrid2.SelectedIndex := 0
// DBGrid2.DataSource.DataSet.First;
DBGrid2.ScrollBy(10,0);
Kullanıcı avatarı
selimr
Üye
Mesajlar: 556
Kayıt: 16 Eki 2003 02:07

Mesaj gönderen selimr »

aklıma şöyle birşey geldi belki olur...

move ile grid deki satır sayısından bir eksik kadar ileri git

move(x) gibi

daha sonrada aynı sayı kadar geri gel

move(-x) gibi..
Berdem
Üye
Mesajlar: 431
Kayıt: 28 Tem 2003 12:28

Mesaj gönderen Berdem »

Move biraz daha açarmısın....Dbgridle direkt bağlantısını bulamadım.
Şu kod biraz sonuç veriyor ama istediğim gibi değil.... :(
for x := 1 to 10 do
begin
Dm.IBDataSet3.Next;
end;
cursor bu sefer istediğim yerde değil...
Kullanıcı avatarı
selimr
Üye
Mesajlar: 556
Kayıt: 16 Eki 2003 02:07

Mesaj gönderen selimr »

şöyle bir örnekle açıklayalım..

diyelimki grid inde 15 satır var.. ve sen son tatırdaki veriye konumlanıyorsun..

bunu ilk satıra almak için.;

dm.IBDataSet3.MoveBy(15);

daha sonrada

dm.IBDataSet3.MoveBy(-15); yaparsan üzerine konumlanılan kayıt gridin ilk satırına gelmiş olur..
Berdem
Üye
Mesajlar: 431
Kayıt: 28 Tem 2003 12:28

Mesaj gönderen Berdem »

:D Aynen dediğin gibi oldu .....Çok çok teşekkürler....
Kullanıcı avatarı
selimr
Üye
Mesajlar: 556
Kayıt: 16 Eki 2003 02:07

Mesaj gönderen selimr »

bişey değil...

ama burda gözden kaçırmaman gereken bir olay var..

diyelimki senin datanda 150 kayıt var.. ( grid de değil datada)
ve sen 140. kayıttasın bu durumda 15 ileri 15 geri yaparsan hatalı bir yere konumlanırsın..

onun için olduğun kayıttan son kayda kadar ( datada ) eğer grid deki satırdan daha az sayıda kayıt var ise okadar ileri geri yapmalısın..
Cevapla