Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Sorgulama sonucunu Elle siralama
#1
Merhabalar,
Firebird de olusturdugum sorgunun sonucunda cikan kayitlari musterim yukari asagi butonlari Ile istedigi gibi siralamak İstiyor. Bunun yapmanin yolu var midir? Benim aklima gelen ilk yontem sonucu sanal tabloya alip orada İslem yaptirmak.
Cevapla
#2
ClientDataSet yardımı ile KeyUp KeyDown olaylarını dinleyip öncelik ataması yapabilirsiniz. Bu da tablodaki her satırda öncelik sütunu değerini revize etmeniz anlamına gelir. Her bastığında bir update çalıştırmak yerine; ClientDataSet üzerinde bu düzenlemeyi yaparsınız, iş bitince en son haliyle kaydı gerçekleştirirsiniz. Eğer yanlış anlamadıysam tabi.
{ talk is cheap show me the code. }
Cevapla
#3
* Kullandığınız gridin (cxGrid, GridEh vs...) sunduğu özellikleri kullanabilirsiniz
* ClientDataSet'e benzer şekilde DevArt'ın ücretsiz TVirtualTable (Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol) bileşeni var, sanal tablonuzu bu bileşene yükleyerek de sıralama yapabilirsiniz
Peyami Safa: "Yaşlanarak değil, yaşayarak tecrübe kazanılır. Zaman insanları değil, armutları olgunlaştırır". 
Cevapla
#4
SıraNo diye bir kolon koy kullanıcı kendisi yazsın 1,2,3,4 diye kaydedince veriyi günceller order by la tekrar getirirsin.
WWW
Cevapla
#5
Herkese cok tesekkur ederim. Onerilerinizi deneyecegim.
Sanırım asagidaki ornek isimi gorecek.
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Cevapla
#6
Merhabalar
Ben DBgrid nesnesinin ontitle click olayına şöyle yazdırıyorum:
(Not: Öncelikle ana sorguyu t biye bir değişkene atıyorum.. )

procedure TForm8.DBGrid1TitleClick(Column: TColumn);
begin
 if ib1.Active then
 begin
   ib1.SQL.clear;
   ib1.SQL.Text := tut;
   ib1.SQL.Add(' order by ' + Column.FieldName);
   ib1.Close;
   ib1.Open;
 end;

end;
WWW
Cevapla
#7
Yada, SQL kodunda hangi satırda sıralama yapılacağını bildiğiniz için, 
OnTitleClick olayına ;
if Query.Active then
 begin
Query.Close;
Query.SQL.Strings[x]:='Order By '+ Column.FieldName;
Query.Open;
end;

yazabilirsiniz
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
WWW
Cevapla

Konuyu Paylaş : facebook gplus twitter





Konuyu Okuyanlar: 1 Ziyaretçi