DBgrid de Aktif satırın herzaman en üstte yada ortada olması

Yapmak istediğiniz işle ilgili doğru bileşeni bulmak için burayı kullanabilirsiniz. Sadece bulmak için, diğer sorular Programlama forumuna lütfen.
Forum kuralları
Bu forum sadece yapacağınız işle alakalı doğru bileşeni bulmak içindir. Şöyle bir şey yapmam lazım, hangi bileşeni kullanıyım diyorsanız, doğru yerdesiniz.
Cevapla
Kullanıcı avatarı
IZLEN
Üye
Mesajlar: 58
Kayıt: 07 Mar 2008 02:40
İletişim:

DBgrid de Aktif satırın herzaman en üstte yada ortada olması

Mesaj gönderen IZLEN »

DBgrid de locate ile arama yaptığımda işaretli satır her zaman en sonda oluyor ben bunun her zaman ortada yada en üstte olmasını istiyorum
bu konuda yardımcı olabilecek arkadaşlar var mıdır ?
locate ile arama yapılınca bulunan satıra konumlanıyor ama o satır hep son satır oluyor ben bunun ilk satır yada ortadaki satır olması için yardım istiyorum
Teşekkürler
Kullanıcı avatarı
Battosai
Üye
Mesajlar: 1316
Kayıt: 01 Eki 2007 12:02
Konum: Ankara

Re: DBgrid de Aktif satırın herzaman en üstte yada ortada olması

Mesaj gönderen Battosai »

Locate mantığı ile bu yapmak istediğin mesele uyuşmuyor...locate ne yapar istediğin kayıta konumlandırma yapar.Dolayısıyla ya aradığın kayıt hep sonda yada arama kodun hatalı.Ayrıca locate ile hep ortada veya başta olması diye birley söz konusu değil...sen bu işi yapaken kullandığın koduda buraya yazsaydın daha iyi olurdu....
Kullanıcı avatarı
IZLEN
Üye
Mesajlar: 58
Kayıt: 07 Mar 2008 02:40
İletişim:

Re: DBgrid de Aktif satırın herzaman en üstte yada ortada olması

Mesaj gönderen IZLEN »

Burada mesele aramaının hangi kodla yapıldığı değil
locate ile arama yaptın diyelim ve herhangi bir satıra konumlandın
konumlanılan satır herzaman en üstte olasun istiyoruk ki alttaki satırlarıda göreyim
muhasebe bilginiz varsa eğer
mesela hesap planı listesinin tamamnı dbgridde hazır ve bir edit in içine yazdığım değere göre hesap kodlarını araıyorum bulunan satır hep en sonda oluyor ve ben alttakileri göremiyorum
bunu en üste getirerek alttakileride görmek istiyorum
şöyle bir kod ile yaptım şimdilik işimi görüyor ama
önce son satıra gidiyor sonra ben kendim işaretli kaydı en üstte getiriyorm

Kod: Tümünü seç

if DataLink.DataSet.RecNo+(RowCount-FixedRows-1)<=DataLink.DataSet.RecordCount-1 Then
          Begin
               DataLink.DataSet.MoveBy((RowCount-FixedRows-1));
               DataLink.DataSet.MoveBy(-(Row-FixedRows));
          end;
İzlen
Cevapla