Einzelnen Beitrag anzeigen

Benutzerbild von LoCrux
LoCrux

Registriert seit: 5. Mär 2007
Ort: Gwang-Yang-City
48 Beiträge
 
Delphi 2009 Enterprise
 
#1

D2009 : TListView -> Groups -> State lässt sich nicht ändern

  Alt 7. Aug 2014, 16:12
Hallo @All,

eigenlich sollte man bei einer TListView (ViewStyle:vsReport & GroupView:True) über ListView.Groups[x].State
das Attribut lgsCollapsed zusätzlich setzen können wenn State=[lgsCollapsible] --> State=[lgsCollapsible,lgsCollapsed].

Nur weigert sich Delphi den State to setzen.
Beim Debuggen erhalte ich nach jedem Aufruf der Test Procedure immer wieder nur den State = [lgsCollapsible] (so wie defaultmässig in der IDE gesetzt).
TListView.SetState wird korrekt aufgerufen und der neue state FState:=Value zugewiesen.
Nur irgendwo wird das wieder rückgängig gemacht!!??

Hat einer eine Idee???
Fehlt was???
Wäre für jede Hilfe dankbar.

Test Procedure:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  i : integer;
begin
  With lv do
  begin
    Items.BeginUpdate;
    for i := 0 to Groups.Count - 1
    do begin
      if lgsCollapsed in Groups[i].state
      then begin
        Groups[i].state := Groups[i].state - [lgsCollapsed]
      end
      else begin
        Groups[i].state := Groups[i].state + [lgsCollapsed];
      end;
    end;
    Items.EndUpdate;
  end;
end;
“C++ is an insult to the human brain.” [Niklaus Wirth]

2B OR NOT 2B (.. THAT IS FF)

Geändert von LoCrux ( 7. Aug 2014 um 16:34 Uhr)
  Mit Zitat antworten Zitat