如何通过代码对 ListView VCL 进行折叠/展开?

How to ListView VCL collapse / expand by code?

我正在使用 Delphi 10.1 和 VCL。如何通过代码折叠或展开所有或特定组?

展开状态在群里State属性。例如,要折叠第一组:

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;