Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.15;
Скачать: CL | DM;

Вниз

Сортировка в StringGrid   Найти похожие ветки 

 
Veetyok   (2004-08-02 17:11) [0]

Подскажите, как отсортировать таблицу по какому-нибудь столбцу и можно ли это елать нажимая на шапку StringGrida?


 
Asinus   (2004-08-04 03:27) [1]

Есть готовые компоненты. Велосипед изобретать не обязательно. Посмотри на http://www.torry.net


 
SelloutS   (2004-08-04 04:48) [2]


procedure GridMSort_(AGrid: TStringGrid; const SortField: integer);

procedure ExchangeItems(Index1, Index2: Integer);
var
  i: integer;
  T: string;
begin
  for i := 0 to AGrid.ColCount - 1 do
  begin
    T := AGrid.Cells[i, Index1];
    AGrid.Cells[i, Index1] := AGrid.Cells[i, Index2];
    AGrid.Cells[i, Index2] := T;
  end;
end;

procedure QuickSort(L, R: integer);
var
  I, J: Integer;
  P: string;
begin
  repeat
    I := L;
    J := R;
    P :=AGrid.Cells[SortField, (L+R) shr 1];
    repeat
      begin
        while CompareText(AnsiUpperCase(AGrid.Cells[SortField, I]),
                           AnsiUpperCase(P)) < 0 do
        Inc(I);
        while CompareText(AnsiUpperCase(AGrid.Cells[SortField, J]),
                          AnsiUpperCase(P)) > 0 do
        Dec(J);
      end;
      if I <= J then
      begin
        ExchangeItems(I, J);
        Inc(I);
        Dec(J);
      end;
    until I > J;
    if L < J then QuickSort(L, J);
    L := I;
  until I >= R;
end;

begin
if AGrid.RowCount > 1 then QuickSort(0, AGrid.RowCount-1);
end;


пример сортировки по первой колонки:
GridMSort_(StringGrid1, 0);
по второй соответственно:
GridMSort_(StringGrid1, 1);

и т.д



Страницы: 1 вся ветка

Текущий архив: 2004.08.15;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.056 c
1-1091514916
Arte123
2004-08-03 10:35
2004.08.15
Как узнать количество child у конкретного TTreeNode в TTreeView?


14-1090840734
Белый Крыс
2004-07-26 15:18
2004.08.15
Слава Одину! Неужели на форуме Игры появился модератор???


3-1090227091
PokSer
2004-07-19 12:51
2004.08.15
DBF-файл и ДОС-кодировка


14-1090962696
Piter
2004-07-28 01:11
2004.08.15
Новая для меня уязвимость


3-1090492217
AD_infiniTUM
2004-07-22 14:30
2004.08.15
Как правильно внести изменения в базу