[Delphi] DBGrid i sortowanie jak to wykonac?

0

Jak wykonac opcje sortowania po nacisnieciu na tytul kolumny w DBgridzie.
Konkretnie zapewne chodzi o odpowiednie podczepienie kaluzuli sortujacej do warunku WHERE
ale jak wykryc ktoa kolumna zostala kliknieta, ktory tytul? i jak wiadomo klikniecie raz robi kolumne sortujaca rosnaco kolejny raz malejaco? jak to wykryc? czy ktos sie z tym spotkal?

0

na necie jest od metra kodów jak to zrobić - poszukaj z łąski swojej

0
procedure TForm1.DBGrid1TitleClick(Column: TColumn);
{$J+}
 const PreviousColumnIndex : integer = -1;
{$J-}
begin
  if DBGrid1.DataSource.DataSet is TCustomADODataSet then
  with TCustomADODataSet(DBGrid1.DataSource.DataSet) do
  begin
    try
      DBGrid1.Columns[PreviousColumnIndex].title.Font.Style :=
      DBGrid1.Columns[PreviousColumnIndex].title.Font.Style - [fsBold];
    except
    end;

    Column.title.Font.Style := 
    Column.title.Font.Style + [fsBold];
    PreviousColumnIndex := Column.Index;

    if (Pos(Column.Field.FieldName, Sort) = 1)
    and (Pos(' DESC', Sort)= 0) then
      Sort := Column.Field.FieldName + ' DESC'
    else
      Sort := Column.Field.FieldName + ' ASC';
  end;
end;

znalazlem taki kod ale nie wiem jak on odczytuje ktora to kolumna???

if (Pos(Column.Field.FieldName, Sort) = 1)

ten kod podaje pozycje kolumny po wyszukaniu w stringu danej nazwy kolumny ?
:/

0

procedure TForm1.DBGrid1TitleClick(<font size="6">Column: TColumn</span>);

1 użytkowników online, w tym zalogowanych: 0, gości: 1