Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#1

Listboxeinträge mit Objekten löschen

  Alt 22. Aug 2009, 15:34
Ich habe eine Listbox in der ich mit AddObject Einträge hinzufüge. Dann habe ich ein Eingabefeld, welches die Listboxeinträge filtert im OnChange Ereignis des Eingabefeldes:
Delphi-Quellcode:
procedure TfrmAdressen.ApplyFilter;
var
  i : Integer;
begin
  lbContacts.Items.Clear;

  case cbFind.ItemIndex of
    0: // Name oder Vorname
      begin
        for i := 0 to ContactCollection.Count - 1 do
        begin
          if ((pos(LowerCase(edtFind.Text), LowerCase(ContactCollection.Items[i].Name)) > 0) or
            (pos(Lowercase(edtFind.Text), LowerCase(ContactCollection.Items[i].Vorname)) > 0)) then
            lbContacts.AddItem('', ContactCollection.Items[i]);
        end;
      end;
    1: // Ort
      begin
        for i := 0 to ContactCollection.Count - 1 do
        begin
          // ...;
Der Inhalt der Listbox wird also gelöscht und dann werden nur Items hinzugefügt, die den Filterkriterien entsprechen. Jetzt ist es allerdings so, dass, wenn man auf einen gefilterten Eintrag doppelt klickt, nicht die zugehörigen Daten, die im Objekt des Eintrages gespeichert sind, des gefilterten Eintrages angezeigt werden, sondern die Daten des Eintrages im ungefilterten Zustand.

Und das verstehe ich nicht, denn ich lösche doch die Listbox. Allerdings scheint die Listbox noch die alten Objekteinträge gespeichert zu haben.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat