Delphi 7: come riempire un TListView
Domanda
Ho un TListView con 3 colonne, mi serve da oggetto TCollection come questo follow
FListeDispoProduit := TListeDispoProduit.Create(TProduit);
with (FListeDispoProduit) do
begin
with TProduit(Add) do
begin
Name := 'Produit 01';
CIP := 'A001';
StockQty := 3;
end;
Ma quando provo a mettere questo oggetto nel TListView solo la prima colonna (nome) è Popola Scrivo questo:
for i := 0 to FListeDispoProduit.Count -1 do
Tlistview1.Items.Insert(i).Caption := TProduit(FListeDispoProduit.Items[i]).Name;
ho bisogno di riempire quei 3 colonne (Nome, cip, StockQty), come posso fare questo?
Grazie.
Spero di essere chiaro.
Soluzione
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;
E aggiungere più colonne in TListView
Altri suggerimenti
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;
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow