计算 TListview 组中的项目数

发布于 2024-09-03 19:59:42 字数 46 浏览 4 评论 0原文

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

When I attempt to count the number of items in a group I get the total number of items in the collection. How do you get the number of items in each group?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

罗罗贝儿 2024-09-10 19:59:42

这可能是最简单的方法。

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;

This is probably the simplest way.

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;
请叫√我孤独 2024-09-10 19:59:42

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

Under Vista and later only, the LVM_GETGROUPINFO and LVM_GETGROUPINFOBYINDEX messages return a LVGROUP structure that has a cItems member specifying the number of items in the group.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文