تجميع العناصر داخل كائن TListView؟
-
02-01-2020 - |
سؤال
أحاول تجميع العناصر داخل كائن TListView، لكن لا يمكنني العثور على الفئة المسؤولة عن تجميع الكائنات، ولم أتمكن من العثور عليها داخل الوثائق.
- ما هي الفئة المسؤولة عن تجميع العناصر داخل كائن TListView، وكيفية استخدامها بشكل صحيح؟
النظام الأساسي هو Firemonkey (Android/iOS) / Delphi XE6
المحلول
الخاصية التي أعتقد أنك تشير إليها هي TListGroups
, ، مجموعة تحمل TListGroup
أغراض.هناك تجريبي المنصوص عليها في وثائق دلفي.
لسوء الحظ، فهو متوفر فقط في VCL وليس FMX، حيث أن الوظيفة الأساسية هي جزء من عنصر تحكم Windows ListView الذي TListView
يلتف.
أقرب ما يمكنك الحصول عليه في FMX هو الاستخدام TListBox
و أ TListBoxGroupHeader
, ، والتي يتم تناولها في البرنامج التعليمي للأجهزة المتعددة استخدام مكونات 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;
ينتج عن هذا (صورة من docwiki المشار إليه)
نصائح أخرى
يتم إنجاز هذا بسهولة في عنصر تحكم FMX TALEDVOVEVOVERVOVERVEVERVENDINGS أثناء استخدام حقل LiveBindings عن طريق توصيل حقل TVIEVIVIEVIEDEM.HEADER.Break الخاص بك في Fieled الذي تريد تجميعه (سيكون حقلا في DB الخاص بك والتي لا جدال في العديد من السجلات).