Delphi 2010: группировка элементов TListView в vsReport ViewStyle - PullRequest
5 голосов
/ 23 июня 2011

Во-первых, возможно ли это?

У меня есть две проблемы - во-первых, я не могу заставить группы появляться в TListView при создании во время выполнения. Я использую следующий код:

lg := lvResults.Groups.Add;
lg.Header := 'New Starters';
lg.GroupID := 0;

Во-вторых, даже если я создаю группы во время разработки - я вижу их в конструкторе форм - они отсутствуют во время выполнения - даже до того, как я обновлю данные, чтобы добавить свои собственные элементы ...

Дополнительно: Я подтвердил ответ ниже, работает над девственным проектом. Однако это терпит неудачу в Проекте, где я хочу использовать это! Я заменил свой TListView на новый из палитры и без радости. Представление списка находится на tpagecontrol

1 Ответ

7 голосов
/ 23 июня 2011

Приведенный ниже код приводит к появлению видимых групп.Возможно, вы забыли установить GroupView на True?

procedure TMyForm.FormCreate(Sender: TObject);
var
  Group: TListGroup;
  Item: TListItem;
begin
  ListView1.ViewStyle := vsReport;
  ListView1.GroupView := True;
  ListView1.Columns.Add.Caption := 'My column';
  Group := ListView1.Groups.Add;
  Group.Header := 'My header';
  Item := ListView1.Items.Add;
  Item.GroupID := Group.GroupID;
  Item.Caption := 'My item';

В документации Delphi есть пример кода .

...