首先这可能吗?
我有两个问题 - 首先是在运行时创建时无法让组出现在TListView中。我正在使用以下代码:
lg := lvResults.Groups.Add;
lg.Header := 'New Starters';
lg.GroupID := 0;
第二个是即使我在设计时创建组 - 我可以在表单设计器中看到它们 - 它们在运行时不存在 - 甚至在我刷新数据以添加我自己的项目之前......
其他: 我已经确认下面的答案适用于处女项目。但是在我想要使用它的项目中失败了!我已经用调色板中的新TListView取代了我的TListView,没有任何乐趣。列表视图位于tpagecontrol
上答案 0 :(得分:7)
以下代码会产生可见的组。您是否忘记将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 documentation中有一个代码示例。