sıralama
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 101
- Kayıt: 13 Şub 2015 09:32
sıralama
dbgridin başklıklarına tıklayarak nasıl sıralama yapabiliriz
Re: sıralama
Nasibinde varsa, alırsın karıncadan bile ders, Nasibinde yoksa, bütün cihan önüne serilse, sana ters..
-
- Üye
- Mesajlar: 101
- Kayıt: 13 Şub 2015 09:32
Re: sıralama
Kod: Tümünü seç
if (Pos(Column.Field.FieldName, Sort) = 1)
and (Pos(' DESC', Sort)= 0)
System.pas(16698): Related method: function Pos(const WideString; const WideString): Integer;
System.pas(18389): Related method: function Pos(const string; const string): Integer;
[DCC Warning] Unit1.pas(709): W1058 Implicit string cast with potential data loss from 'string' to 'RawByteString'
şeklinde hata veriyor
Re: sıralama
Biraz Karmaşık geldi sanırım, Pos işlemleri yapmanız gerekiyor, Kendi kullandığım yöntemi paylaşayım sizinle;
"ilkkod" ile Sorgu yaptımız ilk anda SQL cümlemizi sabitliyoruz, Her TitleClick işleminde de ilkkod SQL cümlesine gerekli atama yapılıyor. Burada kullanılan Status a..z mi yoksa z..a ya göremi yapılacağını belirliyor.
Kod: Tümünü seç
var ilkkod:String;
.
.
Query1.SQL.Text:='Select * From Tablo';
ilkkod:=Query1.SQL.Text;
.
.
procedure TForm1.DBGrid1TitleClick(Column: TColumn);
var Status :Integer; SQLCumlesi:String;
begin
if Status=0 then
BEGIN
SQLCumlesi:='';
with Query1 do
Begin
SQLCumlesi:= ilkkod+ ' order by '+Column.FieldName;
if Active then Close;
SQL.Clear;
SQL.Add( SQLCumlesi );
Open;
Status :=1;
end;
END
else
BEGIN
SQLCumlesi:='';
with Query1 do
Begin
SQLCumlesi:= ilkkod+ ' order by '+Column.FieldName+' desc ';
if Active then Close;
SQL.Clear;
SQL.Add( SQLCumlesi );
Open;
Status :=0;
end;
END;
End;
Nasibinde varsa, alırsın karıncadan bile ders, Nasibinde yoksa, bütün cihan önüne serilse, sana ters..