Einzelnen Beitrag anzeigen

Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.539 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: ListItem ein- und ausblenden

  Alt 5. Feb 2014, 09:59
Wenn man clientseitig eine Liste der Datensätze vorhält (TClientDataset oder etwas eigenes, völlig egal), dann kann man doch auch clientseitig einfach filtern. Man könnte z.B. eine Filterfunktion mit Callback deklarieren, dann könnte das z.B. so aussehen:
Delphi-Quellcode:
type
  TMatchFunc = function(SomeElement: TListElement): Boolean;

procedure TIrgendwas.Filter(MatchFunc: TMatchFunc);
var
  i: integer;
  Item: TListItem;
begin
  ListView.Items.BeginUpdate;
  try
    ListView.Items.Clear;
    for i := 0 to Liste.Count - 1 do
      if Assigned(MatchFunc) and MatchFunc(Liste[i]) then
        begin
          Item := ListView.Items.Add;
          Item.Caption := Liste[i].SomeStringProperty;
          (* etc. pp. *)
        end;
  finally
    ListView.Items.EndUpdate;
  end;
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat