eine spalte unsichtbar machen kannst du, indem du die spaltenbreite auf 0 setzt.
und mit den subitems ist auch einfach.
mit folgendem source kannst du eine neue zeile anlegen
Delphi-Quellcode:
var LItem: TListItem;
begin
LItem := ListView1.Items.Add;
LItem.Caption := 'Spalte1',
LItem.Subitems.Add('Spalte2');
LItem.Subitems.Add('Spalte3');
LItem.Subitems.Add('Spalte4');
end;