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
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>);