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.
DBgrid içerisindeki sutunlardan bazılarını sabitleyebilirmiz
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: DBgrid içerisindeki sutunlardan bazılarını sabitleyebili
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.
(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.
Re: DBgrid içerisindeki sutunlardan bazılarını sabitleyebili
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...
Re: DBgrid içerisindeki sutunlardan bazılarını sabitleyebili
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.
Belki işine gelir belki gelmez ama FixedCols yaptığında aşağıdaki şekilde göreceksin.

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;

Re: DBgrid içerisindeki sutunlardan bazılarını sabitleyebili
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.
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.