Come posso aggiungere dati aggiuntivi per ogni elemento esistente in un `TListView`?
Domanda
sto lavorando con TListView
e ho popolato con successo didascalia di ogni articolo e il primo elemento secondario. Vedere l'esempio di seguito.
user pass working status valid
data1 pass --- ---
data2 pass2 ---- -----
-
-
-
Dopo aver popolato ogni voce, acquisisco dati aggiuntivi per ogni articolo. Voglio aggiungere questi dati per popolare ogni voce di 'lavoro', 'status', e colonne 'valide'. Come posso aggiungere questi dati aggiuntivi per ogni articolo?
Ogni volta che ho provato, sembra i dati vengono memorizzati in nuovi oggetti e visualizzati sotto gli elementi originali. Vedere l'esempio di seguito.
user pass working status valid
data1 pass --- ---
data2 pass2 ---- -----
yes 2009
no
Come posso aggiungere dati aggiuntivi per ogni elemento esistente in un TListView
?
Soluzione
Non sono sicuro di aver capito la domanda sia.
Se si desidera che le colonne siano visibili, è necessario aggiungere le colonne nella finestra di ispezione oggetto. (Immagino che tu hai già fatto questo).
Quando si aggiungono elementi ListView, il codice sarà qualcosa di simile;
MyItem:=ListView1.Items.Add; MyItem.Caption:='data1'; for i:=0 to 2 do // this is number of desired subcolumns -1 MyItem.SubItems.Add(''); // puts blank string in each cell // then put your data in; MyItem.SubItems[0]:='pass'; MyItem.SubItems[1]:='---'; MyItem.SubItems[2]:='--' //etc
Altri suggerimenti
Come stai aggiornando gli elementi esistenti?
Dovrebbe essere qualcosa del tipo:
ListView1.Items[0].SubItems[1] := 'Yes';
ListView1.Items[0].SubItems[2] := '2009';
ListView1.Items[1].SubItems[1] := 'No';