Delphi 7:如何填写Tlistview

Tim*_*ear 3 delphi delphi-7 tlistview

我有一个包含3列的Tlistview,我需要来自Tcollection对象,如下所示

FListeDispoProduit := TListeDispoProduit.Create(TProduit);

  with (FListeDispoProduit) do
  begin
    with TProduit(Add) do
    begin
      Name := 'Produit 01';
      CIP := 'A001';
      StockQty := 3;
    end;
Run Code Online (Sandbox Code Playgroud)

但是当我尝试将此对象放入Tlistview时,只有第一列(Name)填充,我写这个:

for i := 0 to FListeDispoProduit.Count -1 do
     Tlistview1.Items.Insert(i).Caption := TProduit(FListeDispoProduit.Items[i]).Name;
Run Code Online (Sandbox Code Playgroud)

我需要填写这3列(Name,cip,StockQty),我该怎么做?

谢谢.

希望我明白.

Im0*_*ity 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; 
Run Code Online (Sandbox Code Playgroud)

并在TListView中添加更多列

  • 我还建议使用ListView1.Items.BeginUpdate和ListView1.Items.EndUpdate来包装插入大量项目的循环.它会暂时禁用ui以加快速度. (7认同)
  • `begin`应该是一个新的界限.否则它看起来像训练的眼睛只有`Caption:= ...`在`with`语句中.Phile Gilmore的第二个*评论也非常重要. (2认同)