L'ajout ou de l'insertion d'un élément à un TListView toujours l'ajoute à la fin, quand GroupView est Active

En Delphi 2009 :

Quand TListView de GroupView est Active, l'ajout ou de l'insertion d'un élément à un TListView toujours l'ajoute à la fin de la liste, indépendamment de l'Index spécifié en tant que param. Lorsque GroupView est défini à false, il l'ajoute à l'index spécifié. Mais quand c'est vrai, ce comportement n'est pas vu.

ListView2.Items.Insert(1)

Le dessus doit insérer un élément à la sepecified indice "1", mais toujours l'ajoute à la fin de la liste. Ce que je fais mal?

object ListView2: TListView
Left = 32
Top = 40
Width = 161
Height = 233
BorderWidth = 5
Columns = <
  item
    AutoSize = True
  end>
DoubleBuffered = False
FlatScrollBars = True
Groups = <
  item
    Header = 'test'
    Footer = 'aksdlkajsd;flkj'
    GroupID = 0
    State = [lgsNormal]
    HeaderAlign = taLeftJustify
    FooterAlign = taLeftJustify
    Subtitle = 'adgasdfasdf'
    TopDescription = 'test desc'
    BottomDescription = 'adsfasdfasdf'
    TitleImage = 0
    ExtendedImage = 0
  end
  item
    Header = 'test1'
    GroupID = 1
    State = [lgsNormal]
    HeaderAlign = taLeftJustify
    FooterAlign = taLeftJustify
    TopDescription = 'test1 desc'
    TitleImage = 1
    ExtendedImage = 1
  end>
HideSelection = False
IconOptions.WrapText = False
Items.ItemData = {
  03D80000000500000000000000FFFFFFFFFFFFFFFF0000000000000000000000
  0003740077006F00FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000
  086100730064006600610073006400660000000000FFFFFFFFFFFFFFFF000000
  000000000000000000057400680072006500650000000000FFFFFFFFFFFFFFFF
  000000000000000000000000036F006E00650000000000FFFFFFFFFFFFFFFF00
  00000000000000000000001866006F0075007200320033003300330033003300
  33003300330033003300330033003300330033003300330033003300}
MultiSelect = True
GroupView = True
ParentDoubleBuffered = False
ShowColumnHeaders = False
TabOrder = 0
ViewStyle = vsReport

fin

et le Code pour ajouter un élément @ index 0

procedure TForm1.Button1Click(Sender: TObject);
var
  oListItem: TListItem;
begin
  oListItem := ListView2.Items.Insert(0);
  oListItem.Caption := 'CCCCCCCC';
  oListItem.GroupID := 0;
end;

Merci & Cordialement,
Pavan.

Il y a quelque chose d'autre (voir ma réponse). Publier vos ListView propriétés et/ou votre code.
Veuillez noter que ce problème se produit lorsque ViewStyle = vsReport
Quelqu'un a trouver une solution à ce problème, après tout ? J'ai essayé toutes les réponses et ils dindn pas de travail !

OriginalL'auteur Pavan | 2009-07-02