Bonjour,

j'ai beau forcer la chose, il va bien dans la procedure ListView1ColumnClick mais il ne veux pas rentrer dans la procedure OnCompare par la suite. Si je clique manuellement il va bien dans OnCompare...

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 
procedure TFicheViewEvents.init;
begin
  ListView1ColumnClick(nil, ListView1.Column[1]);
end;
 
procedure TFicheViewEvents.ListView1ColumnClick(Sender: TObject;
  Column: TListColumn);
  var
  ListItem : TListItem;
  i_cpt: Integer;
begin
  SortedColumn := Column.Index;
  TListView(Sender).CustomSort(nil, Column.Index -1);
end;
 
function CompareTextAsDateTime(const s1, s2: string): Integer;
begin
  Result := CompareDateTime(StrToDateTime(s2), StrToDateTime(s1));
end;
 
procedure TFicheViewEvents.ListView1Compare(Sender: TObject; Item1,
  Item2: TListItem; Data: Integer; var Compare: Integer);
var
  i_cpt: Integer;
  ListItem: TListItem;
begin
  Case SortedColumn Of
  0 : Compare := Compare;
  1 : Compare := CompareTextAsDateTime(Item1.subitems[SortedColumn - 1], Item2.subitems[SortedColumn - 1]);
  End;
end;