AdvStringGrid сортировка
15.10.2011
Сортировка
Давайте добавим на нашу форму сам AdvStringGrid с следующими параметрами:
AdvStringGrid1.RowCount := 10;
AdvStringGrid1.ColCount := 5;
AdvStringGrid1.FixedCols := 0;
И заполним его при создании формы:
procedure TForm1.FormCreate(Sender: TObject);
var
i, j: integer;
begin
for i := 1 to 9 do
for j := 0 to 5 do
AdvStringGrid1.Cells[j, i] := inttostr(i) + inttostr(j);
end;
А теперь рассмотрим три основных свойства:
AdvStringGrid1.SortSettings.Show: Boolean;
AdvStringGrid1.SortSettings.Column: Integer;
AdvStringGrid1.SortSettings.Direction: TSortDirection;
Первый отвечает за то, включена или отключена сортировка.
Второй, указывает по какому столбцу будет сортировка по умолчанию.
Третий, способ сортировки по умолчанию (по убыванию или по возрастанию).
Например:
AdvStringGrid1.SortSettings.Show := True;
AdvStringGrid1.SortSettings.Column := 0;
AdvStringGrid1.SortSettings.Direction := sdAscending;
Ещё одной очень полезной функцией является сортировка по нескольким столбцам, для начала нужно включить возможность такой сортировки:
AdvStringGrid1.SortSettings.IndexShow := True;
Во вторых, определить с помощью зажатия какой клавиши будет производится сортировка (можно выбрать клавишу Ctrl или Shift)
AdvStringGrid1.SortSettings.IndexSortKey := ikCtrl;
Это означает что зажав клавишу Ctrl мы сможем сортировать данные на нескольких столбцах. При этом столбцы будут помечаться цифрами 1, 2, 3 и т.д. в порядке вложенности сортировки.