Einzelnen Beitrag anzeigen

DIET3RIX

Registriert seit: 21. Feb 2006
Ort: Bonn
78 Beiträge
 
Delphi 2007 Professional
 
#1

[VirtualStringTree] Sortierung Frage.

  Alt 7. Apr 2007, 15:50
Hallo Leute,

Ich benutze die VirtualStringTree Komponente und habe eine Frage zur Sortierung.

Wenn ich auf MainColumn klicke, dann wird das zwar sortiert, aber sieht ca. so aus:

1
10
100
101
...
110
111
...
2
20
usw.

Wie kann ich nach "1,2,3,4 ... 99,100,101" usw Sortieren?

THX voraus

Hier der Code (aus der Beispieldatei):

Delphi-Quellcode:
procedure TMain_Form.VST_DBHeaderClick(Sender: TVTHeader;
  Column: TColumnIndex; Button: TMouseButton; Shift: TShiftState; X,
  Y: Integer);
begin
  if Button = mbLeft then
  begin
    with Sender do
    begin
      if Column <> MainColumn then
        SortColumn := NoColumn
      else
      begin
        if SortColumn = NoColumn then
        begin
          SortColumn := Column;
          SortDirection := sdAscending;
        end
        else
          if SortDirection = sdAscending then
            SortDirection := sdDescending
          else
            SortDirection := sdAscending;
        Treeview.SortTree(SortColumn, SortDirection, False);
      end;
    end;
  end;
end;
Delphi-Quellcode:
procedure TMain_Form.VST_DBCompareNodes(Sender: TBaseVirtualTree; Node1,
  Node2: PVirtualNode; Column: TColumnIndex; var Result: Integer);
var
  Data1, Data2: PTreeData;
begin
  Data1 := Sender.GetNodeData(Node1);
  Data2 := Sender.GetNodeData(Node2);
  Result := CompareText(Data1.ID, Data2.ID);
end;
Dieter
  Mit Zitat antworten Zitat