sıralama yapabilen dbgrid

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Mesaj gönderen sadettinpolat »

Burada çok ince bir ayrıntı gözden kaçmış
aşağıdaki şekilde queryi kapatmadan önce hangi alana tıklandığını bir değişkende saklarsanız sorun olmaz.

Kod: Tümünü seç

procedure TForm1.DBGrid1TitleClick(Column: TColumn);
var
  ColumName :String;
begin
  ColumName := Column.FieldName; //tıklanan sütun başlığı
  Query1.Close;
  Query1.SQL.Clear;
  Query1.SQL.Add('Select * from country');
  Query1.SQL.Add('order by ' + ColumName);
  Query1.Open;
end;
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

DbGridin OnTitleClick olayına yaz

test ettim bi sorun yok
hatta OrderDir isimli bir de global degisken tanımladım

Kod: Tümünü seç

var
  OrderDir: Boolean = True;

Kod: Tümünü seç

procedure TFrmCustomer.DBGrid1TitleClick(Column: TColumn);
begin
  inherited;
  if OrderDir then
    IbdFirma.SelectSQL.Text := 'select * from FIRMA order by ' + Column.FieldName  + ' ASC'
  else
    IbdFirma.SelectSQL.Text := 'select * from FIRMA order by ' + Column.FieldName + ' DESC';
  OrderDir := not OrderDir;
  IbdFirma.Close;
  IbdFirma.Open;
end;
cillop gibi calısıyor.
ÜŞENME,ERTELEME,VAZGEÇME
Cevapla