Delphi 7: كيفية ملء TlistView
سؤال
لدي ledlistview مع 3 أعمدة ، أحتاج من كائن tcollection لأن هذا يتبع
FListeDispoProduit := TListeDispoProduit.Create(TProduit);
with (FListeDispoProduit) do
begin
with TProduit(Add) do
begin
Name := 'Produit 01';
CIP := 'A001';
StockQty := 3;
end;
ولكن عندما أحاول وضع هذا الكائن في TlistView فقط ، فإن العمود الأول (الاسم) هو populate أنا أكتب هذا:
for i := 0 to FListeDispoProduit.Count -1 do
Tlistview1.Items.Insert(i).Caption := TProduit(FListeDispoProduit.Items[i]).Name;
أحتاج إلى ملء هذه الأعمدة الثلاثة (الاسم ، CIP ، StockQty) ، كيف يمكنني القيام بذلك؟
شكرًا لك.
آمل أن أكون واضحا.
المحلول
for i := 0 to FListeDispoProduit.Count -1 do with ListView1.Items.Add() do begin Caption := TProduit(FListeDispoProduit.Items[i]).Name; SubItems.Add(TProduit(FListeDispoProduit.Items[i]).CIP); SubItems.Add(IntToStr(TProduit(FListeDispoProduit.Items[i]).StockQty)); end;
وأضف المزيد من الأعمدة في TlistView
نصائح أخرى
Procedure TForm1.FillListView;
var
i: Integer;
ListItem: TListItem;
begin
try
ListView1.Items.BeginUpdate;
try
ListView1.Clear;
for i := 1 to 9 do
with ListView1 do
begin
ListItem := ListView1.Items.Add;
Listitem.Caption := 'Caption '+IntToStr(i);
ListItem.SubItems.Add('Subitem1 '+IntToStr(i));
ListItem.SubItems.Add('Subitem2 '+IntToStr(i));
end;
finally
ListView1.Items.EndUpdate;
end;
except
on E: Exception do
MessageDlg(PWideChar(E.Message), TMsgDlgType.mtError, [TMsgDlgBtn.mbOK], 0);
end;
end;
لا تنتمي إلى StackOverflow