質問

グループ内のアイテムの数を数えようとすると、コレクション内のアイテムの総数が得られます。各グループにアイテムの数をどのように取得しますか?

役に立ちましたか?

解決

これはおそらく最も簡単な方法です。

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;

他のヒント

Vistaの下で、後にのみ LVM_GETGROUPINFOLVM_GETGROUPINFOBYINDEX メッセージは、aを持つlvgroup構造を返します cItems グループ内のアイテム数を指定するメンバー。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top