Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#28

AW: Konzeptfrage: Datenhaltung vieler Datei-Infos und deren Darstellg mit schneller S

  Alt 6. Jul 2015, 13:51
Wenn du eine ListView nimmst mit OwnerData := True , dann kannst du das mit einer TObjectList<T> sehr einfach behandeln.
Delphi-Quellcode:
type
  TDataItem = class
    property Name : string;
    property Date : TDateTime;
  end;

  TMyForm = class( TForm )
    ListView1 : TListView;
    procedure ListView1Data( Sender:TObject; Item : TListViewItem );
  private
    FAllList : TObjectList<TDataItem>;
    FHitList : TList<TDataItem>;
    procedure SetHitList( AHitList : TList<TDataItem> );
  end;

procedure TMyForm.SetDataList( AHitList : TList<TDataItem> );
begin
  // Alte Liste löschen
  if FHitList <> FAllList then
    FreeAndNil( FHitList );

  // Neue Liste setzen
  FHitList := AHitList;
  // Items.Count setzen
  if Assigned( FHitList ) then
    ListView1.Items.Count := FHitList.Count
  else
    ListView1.Items.Count := 0;
end;

procedure ListView1Data( Sender:TObject; Item : TListViewItem );
var
  LItem : TDataItem;
begin
  LItem := FHitList[Item.Index];
  Item.Caption := LItem.Name;
  Item.SubItems.Add( DateToStr( LItem.Date ) );
end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat