Einzelnen Beitrag anzeigen

Subsidenz

Registriert seit: 24. Mai 2008
Ort: Dresden
34 Beiträge
 
#15

Re: StringGrid nach Kriterien sortieren

  Alt 15. Jun 2008, 14:50
So nach langem Rumprobieren und Suchen hab ich es endlich geschafft.

Delphi-Quellcode:
procedure SortStringGrid(var GenStrGrid: TStringGrid; ThatCol: Integer);
const
  TheSeparator = '@';
var
  CountItem, I, J, K, ThePosition: integer;
  MyList: TStringList;
  MyString, TempString: string;
begin
  CountItem := GenStrGrid.RowCount;
  MyList := TStringList.Create;
  MyList.Sorted := False;
  try
    begin
      for I := 1 to (CountItem - 1) do
        MyList.Add(GenStrGrid.Rows[I].Strings[ThatCol] + TheSeparator +
        GenStrGrid.Rows[I].Text);
        Mylist.Sort;
      for K := 1 to Mylist.Count do
       begin
        MyString := MyList.Strings[(K - 1)];
        ThePosition := Pos(TheSeparator, MyString);
        TempString := '';
        TempString := Copy(MyString, (ThePosition + 1), Length(MyString));
        MyList.Strings[(K - 1)] := '';
        MyList.Strings[(K - 1)] := TempString;
       end;
      for J := 1 to (CountItem - 1) do
        GenStrGrid.Rows[J].Text := MyList.Strings[(J - 1)];
      end;
  finally
    MyList.Free;
  end;
end;

procedure TForm1.exChange(Sender: TObject);
begin
SortStringGrid(grid, ex.ItemIndex)
end;
Die Lösung ist eigentlich ganz einfach, nur muss man erst mal darauf kommen.

MFG Subsidenz
Ich würde mich ja gerne mit dir geistig duellieren,
aber wie ich sehe bist du unbewaffnet.
  Mit Zitat antworten Zitat