Einzelnen Beitrag anzeigen

Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.858 Beiträge
 
Delphi 11 Alexandria
 
#1

An ListView ein SubItem anhängen

  Alt 13. Jun 2007, 08:16
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.
  Mit Zitat antworten Zitat