我有一个包含3列的Tlistview,我需要来自Tcollection对象,如下所示
FListeDispoProduit := TListeDispoProduit.Create(TProduit);
with (FListeDispoProduit) do
begin
with TProduit(Add) do
begin
Name := 'Produit 01';
CIP := 'A001';
StockQty := 3;
end;
但是当我尝试将此对象放入Tlistview时,只填充第一列(Name) 我写这个:
for i := 0 to FListeDispoProduit.Count -1 do
Tlistview1.Items.Insert(i).Caption := TProduit(FListeDispoProduit.Items[i]).Name;
我需要填写这3列(姓名,cip,StockQty),我该怎么做?
谢谢。
希望我明白。答案 0 :(得分:6)
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中添加更多列
答案 1 :(得分:0)
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;