Hallo,
ich füge mit der Methode AddItem ein neues ListenEintrag in eine ListView ein.
Wenn die Daten aus einem Stream gelesen werden, habe ich kein Problem:
Delphi-Quellcode:
MSObj:= TMSV1.Create; // Obj. für die Liste erzeugen
MSObj.MSDateiName:= MSDateiName;
MSObj.MSLesen:= i+1; // Datensatz auslesen
MSAnzeigenListView.AddItem(MSObj.MaNr+MSObj.MSNr,MSObj);
MSAnzeigenListView.Items.Item[i].SubItems.Add(MSObj.MaNr);
MSAnzeigenListView.Items.Item[i].SubItems.Add(MSObj.MSNr);
MSAnzeigenListView.Items.Item[i].SubItems.Add(MSObj.MaBez);
MSAnzeigenListView.Items.Item[i].SubItems.Add(MSObj.MaGruppe1);
// Anzeige des Richtigen Icons
If MSObj.DarstellungsArt = 0 then
begin
MSAnzeigenListView.Items.Item[i].ImageIndex:= 1;
end;
Ich habe dann ein Problem, wenn ein neuer Eintrag an die Liste angehängt werden soll
Delphi-Quellcode:
if (NOT(blIdNrVorhanden)) then
begin
MSObj:= TMSV1.Create; // Obj. für die Liste erzeugen
MSAnzeigenListView.SmallImages:= ImageList1;
MSObj.MaNr:= MaNrComboBox3.Text;
MSObj.MSNr:= MSNrComboBox4.Text;
MSObj.MABez:= MaBezComboBox1.Text;
MSObj.MaGruppe1:= MaschinenGruppe1ComboBox2.Text;
MSAnzeigenListView.AddItem(MSObj.MaNr+MSObj.MSNr,MSObj);
Das funktioniert auch, aber mir ist nun nicht klar, wie ich die SubItems für diesen neuen Eintrag in die ListView bekomme.
Mit
MSAnzeigenListView.Items.Item.SubItems.Add(MSObj.MSNr);
geht’s nicht, weil der Index hinter Item fehlt, nur wie bekomme ich diesen Index für diesen neuen Eintrag?
Noch ein Hinweis, mir ist klar das ich auch mit TListItem arbeiten könnte und die Methode
ListView.Items.Add; verwenden könnte, dies hat aber den Nachteil das ich die Daten ins Object kopieren müsste.
Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.