DBgrid içerisindeki sutunlardan bazılarını sabitleyebilirmiz

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
diseqc
Üye
Mesajlar: 48
Kayıt: 21 May 2009 04:03

DBgrid içerisindeki sutunlardan bazılarını sabitleyebilirmiz

Mesaj gönderen diseqc »

Merhaba;

Yapmış olduğum projedeki bir dbgrid içerisinde yaklaşık 30 adet sütün var bu sütunların ilk üç tanesinin sabit kalmasını scrollbar hareket ettirildiğinde bu üç sutundan sonraki sutunların hareket etmesini istiyorum. Örneğin ilk üç sütünda personel no,personel adı, personel soyadı olduğunu düşünün diğer sütünlarda da adres telefon gibi bir sürü sütun var scralbarda sağa doğru hareket butonuna bastığımda ilk üç sutun sabit kalacak diğer sütunlar sırayla kayacak exceldeki bölmeleri doldur işlemi gibi konu hakkında görüş ve yardımlarınızı bekliyorum.
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: DBgrid içerisindeki sutunlardan bazılarını sabitleyebili

Mesaj gönderen mrmarman »

Delphi ile gelen standart DBGrid bileşeni için bu istediğinizi iki farklı yolla yapabilirsiniz.

(1) Yan yana iki farklı DBGrid'in paralel çalışması ile ki bu en basit çözümdür.
(2) Tek bir DBGrid kullanıp, bunun Canvas'ı üzerinde paint işlemi ile direkt DBGrid hücrelerine boyama yaparak veriyi güncelelleyerek yapabilirsiniz. Yani sağa doğru kaydırıldığında 1,2,3 sütunlar ilerleyen field'ları gösteriyor olduğu halde üzerlerine bilerek 1,2,3 nolu alanları boyayıp yazmayı sağlayabilirsiniz. Bu biraz daha fazla işçilik istiyor.
Resim
Resim ....Resim
diseqc
Üye
Mesajlar: 48
Kayıt: 21 May 2009 04:03

Re: DBgrid içerisindeki sutunlardan bazılarını sabitleyebili

Mesaj gönderen diseqc »

cevap için teşekkür ederim ama gridde fazlasıyla boyama var zaten onları boz her seferinde tekrar boya bu işlem yenileme hızına da yetişemiyebilir bu sütünları sabit tutmanın yolu yok galiba...
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: DBgrid içerisindeki sutunlardan bazılarını sabitleyebili

Mesaj gönderen mrmarman »

DBGrid aslında bir StringGrid'den türemiştir.
Bu ilkeden yola çıkarak şunu da deneyebilirsin. StringGrid'in FixedRows özelliği var ya.. Onu DBGrid'e şöyle uygulayabilirsin.

Kod: Tümünü seç

  TStringGrid(DBGrid1).FixedCols := 2;
Belki işine gelir belki gelmez ama FixedCols yaptığında aşağıdaki şekilde göreceksin.
Resim
Resim
Resim ....Resim
diseqc
Üye
Mesajlar: 48
Kayıt: 21 May 2009 04:03

Re: DBgrid içerisindeki sutunlardan bazılarını sabitleyebili

Mesaj gönderen diseqc »

göndermiş olduğun ip ucu ile denedim oldu
grdin onDrawColumnCell olayına TStringGrid(crDbGrid1).FixedCols := 6; kodunu yazdım istediğimi yapıyor ancak sütün başlık larını kaldırıyor ve gridin görünümünü değiştiriyor bu sorunlarıda çözsem tam olacak yardımınız için teşekkür ederim.
Cevapla