gpt4 book ai didi

delphi - 对 TListView 对象内的项目进行分组?

转载 作者:行者123 更新时间:2023-12-01 21:48:08 24 4
gpt4 key购买 nike

我试图对 TListView 对象内的项目进行分组,但我找不到负责对对象进行分组的类,我也无法在文档中找到此类内容。

  • 负责对 TListView 对象内的项目进行分组的类是什么,以及如何正确使用它?

平台是 Firemonkey ( Android/iOS)/Delphi XE6

最佳答案

我相信您所指的属性是 TListGroups,它是一个包含 TListGroup 项的集合。有一个demo Delphi 文档中提供。

不幸的是,它仅在 VCL 中可用,而在 FMX 中不可用,因为底层功能是 TListView 包装的 Windows ListView 控件的一部分。

在 FMX 中最接近的方法是使用 TListBoxTListBoxGroupHeader,多设备教程中对此进行了介绍使用 ListBox 组件显示表格查看(iOS 和 Android) docwiki :

procedure TForm1.FormCreate(Sender: TObject);
var
c: Char;
i: Integer;
Buffer: String;
ListBoxItem : TListBoxItem;
ListBoxGroupHeader : TListBoxGroupHeader;
begin
ListBox1.BeginUpdate;
for c := 'a' to 'z' do
begin
// Add header ('A' to 'Z') to the List
ListBoxGroupHeader := TListBoxGroupHeader.Create(ListBox1);
ListBoxGroupHeader.Text := UpperCase(c);
ListBox1.AddObject(ListBoxGroupHeader);

// Add items ('a', 'aa', 'aaa', 'b', 'bb', 'bbb', 'c', ...) to the list
for i := 1 to 3 do
begin
// StringOfChar returns a string with a specified number of repeating characters.
Buffer := StringOfChar(c, i);
// Simply add item
// ListBox1.Items.Add(Buffer);

// or, you can add items by creating an instance of TListBoxItem by yourself
ListBoxItem := TListBoxItem.Create(ListBox1);
ListBoxItem.Text := Buffer;
// (aNone=0, aMore=1, aDetail=2, aCheckmark=3)
ListBoxItem.ItemData.Accessory := TListBoxItemData.TAccessory(i);
ListBox1.AddObject(ListBoxItem);
end;
end;
ListBox1.EndUpdate;
end;

这会产生(来自指定文档维基的图像)

Sample table view listbox appearance in iOS and Android

关于delphi - 对 TListView 对象内的项目进行分组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25079633/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com