Подсчитайте количество предметов в группе TLISTVIEW

StackOverflow https://stackoverflow.com/questions/2937036

  •  05-10-2019
  •  | 
  •  

Вопрос

Когда я пытаюсь подсчитать количество предметов в группе, я получаю общее количество предметов в коллекции. Как вы получаете количество предметов в каждой группе?

Это было полезно?

Решение

Это, вероятно, самый простой способ.

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_GETGROUPINFO а также LVM_GETGROUPINFOBYINDEX сообщения возвращает структуру LVGROUP, которая имеет cItems Участник указывает количество предметов в группе.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top