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?
+4
A:
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;
Andreas Rejbrand
2010-05-30 00:54:28
Thank-you.. this works nicely.
Bill
2010-05-30 02:11:07
A:
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.
Remy Lebeau - TeamB
2010-05-31 18:26:24