Dbgrid sıralama

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
mustafa_kaplan
Üye
Mesajlar: 38
Kayıt: 03 Tem 2003 01:39

Dbgrid sıralama

Mesaj gönderen mustafa_kaplan »

dbgridin titleclick olayına şu kodu yazdım düzenliyim dedim ama beceremedim arkadaşlar.


var
OrderF:String;
I:Integer;
begin

if Query1.findfield(Column.FieldName).fieldKind=fkCalculated then begin
ShowMessage('Hesaplamalı alan Sıralanamaz');
Exit;
end;
if LastOrderField=Column.FieldName then begin [Error] Unit1.pas(40): Undeclared identifier: 'LastOrderField'

OrderDesc:= not OrderDesc; [Error] Unit1.pas(41): Undeclared identifier: 'OrderDesc'

if OrderDesc then
OrderF:=LastOrderField+' DESC'
else
OrderF:=LastOrderField+' ASC';
end else begin
OrderDesc:=FALSE;
LastOrderField:=Column.FieldName;
OrderF:=LastOrderField+' ASC';
end;
Load(OrderF); [Error] Unit1.pas(51): Undeclared identifier: 'Load'
end;
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

seni Arama'ya davet ediyorum. Undeclared diye arattım ve 20 adet (yazı ile YİRMİ ) sonuç çıktı ve sonucu bulmam 20 sn. sürdü :)

viewtopic.php?t=1010&highlight=undeclared

Kolay gelsin.
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Standart DBGrid kullanıyorsan Klıkladığın kolona göre Query ni yeniden sadece ;

Kod: Tümünü seç

select * from tablo  -> sıfırıncı satır
where a=12           -> birinci satır
order by alan1       -> ikinci satır
burada istersen sorguyu yeniden oluşturur, istersen sadece son order by satırını

Kod: Tümünü seç

Query.SQL[2] := 'order by alan2'; 
gibi değiştirebilirsin. Bu işlemden önce Query yi Close edip yeniden açman gerekir.
Ayrıca derlerken delphinin Undeclared identifier dediği hatalar da tanımsız değişkenler kullandığındandır.

Order by kullanılan Query de İndekse göre değilse RequestLive true yapılamaz dolaysıyla kayıt girişine ve güncellemeye izin vermez!
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

LastOrderField,OrderDesc sanırım global degisken olarak tanımlanmalı
olay cagrıldıgı zaman en son sıralanan alan ve artanmı azalanmı oldugunu bildiriyor.ya formun public alanında yada formun var altında tanımlamanız gerekmekte
ÜŞENME,ERTELEME,VAZGEÇME
Cevapla