如何按代码进行ListView VCL折叠/扩展?

如何按代码进行ListView VCL折叠/扩展?,listview,delphi,vcl,delphi-10.1-berlin,Listview,Delphi,Vcl,Delphi 10.1 Berlin,我正在使用Delphi10.1和VCL。如何按代码折叠或展开所有或特定组?展开状态在组的属性中。例如,要折叠第一个组: ListView1.Groups[0].State := ListView1.Groups[0].State + [lgsCollapsed]; 一次处理所有组没有快捷方式。您必须一次循环一个: for I := 0 to ListView1.Groups.Count-1 do begin ListView1.Groups[I].State := ListView1.Gr

我正在使用Delphi10.1和VCL。如何按代码折叠或展开所有或特定组?

展开状态在组的属性中。例如,要折叠第一个组:

ListView1.Groups[0].State := ListView1.Groups[0].State + [lgsCollapsed];
一次处理所有组没有快捷方式。您必须一次循环一个:

for I := 0 to ListView1.Groups.Count-1 do
begin
  ListView1.Groups[I].State := ListView1.Groups[I].State + [lgsCollapsed];
end;

谢谢。建议从ListView1.Items.BeginUpdate开始,使用colapse/expand命令,并通过ListView1.Items.endupdater完成。您应该将它们放在循环中,而不是放在循环中@Remy只发布了一个迭代示例。