09-03-2021, Saat: 16:10
(04-03-2021, Saat: 10:02)TheEAK Adlı Kullanıcıdan Alıntı: Arkadaslar merhabalar, Bir suredir dbgrid teki satırları drag&drop ile sıralamaya çalışıyorum, fakat bu konuda bir başarı elde edemedim. Bu konuda yol gösterebilirseniz sevinirim.
Yardımlarınız için şimdiden teşekkürler.
Selamlar,
DBGrid'le bu şekilde bir sıralama yapamazsınız. Çünkü DBGrid tablo kayıtlarını, kendisi için ayrıca bir dizide tutmaz. Bunun yerine tüm bilgileri tablodan alır. Yani bu şekilde bir işlem yapmak istiyorsanız bunu DataSet üzerinde yapacaksınız. Yani diyelim ki bir MemoryTable ile çalışıyorsunuz. Drag&Drop yaptığınız kayıt başka iki satırın arasına geldi. Bu durumda bu iki satırın sıralama için kullandığınız ID'lerinin arası bir ID'yi taşımak istediğiniz satıra vereceksiniz. Bu işlemi anca bu şekilde yapabilirsiniz. Başka bir yolu ise TStringGrid kullanmaktır. VCL'de TStringGrid ve LiveBinding kullandım ve işe de yaradı. Ama böyle bir işlemi onun üzerinde yapmadım.
Veya 3.parti gridler kullanacaksınız, bu arada hepsi yapamaz bu işi. Örneğin TMS, Raize, LMD gibi bileşen paketlerinin VCL DBGrid'leri bu işi yapamaz, çünkü onlar da DBGrid gibi data için ayrı bir alan kullanmaz. Bu işi yapabilecek olan, en bilinen DevExpress'in şahane grididir. EhLib var, onu da kullanabilirsiniz.

