计算TListview组中的项目数

时间:2010-05-30 00:09:50

标签: delphi tlistview

当我尝试计算组中的项目数时,我会得到集合中的项目总数。你如何获得每组中的项目数量?

2 个答案:

答案 0 :(得分:4)

这可能是最简单的方法。

procedure TForm1.Click(Sender: TObject);
begin
  ShowMessage(IntToStr(GetNumItemsInGroup(1)));
end;

function TForm1.GetNumItemsInGroup(const GroupID: integer): integer;
var
  i: Integer;
begin
  result := 0;
  assert((GroupID >= 0) and (GroupID <= ListView1.Groups.Count - 1));
  for i := 0 to ListView1.Items.Count - 1 do
    if ListView1.Items.Item[i].GroupID = GroupID then
      inc(result);
end;

答案 1 :(得分:1)

在Vista及更高版本中,LVM_GETGROUPINFOLVM_GETGROUPINFOBYINDEX消息返回LVGROUP结构,该结构具有cItems成员,指定该组中的项目数。