Home » Tipps & Tricks » Komponenten » TStringGrid » StringGrid nach dem Zelleninhalt durchsuchen
StringGrid nach dem Zelleninhalt durchsuchen
function SeekRecord(Grid: TStringGrid; ColOrder: array of integer; StrList: array of String): Boolean; var I, J : Integer; begin result := false; for I := 1 to Grid.RowCount - 1 Do begin for J := low(ColOrder) to high(ColOrder) do begin if (Grid.Cells[ColOrder[J],I]=StrList[J]) then result := true else result := false; if result = false then break; end; if result = true then break; end; if result = true then Grid.Row := I else ShowMessage('Datensatz nicht gefunden!' +#13#13+ 'Record not Found!'); end;
Aufrufbeispiel:
procedure TForm1.Button1Click(Sender: TObject); begin //Suche Zeile nach Column 0 mit Suchbegriff SeekRecord(Grid,[0],['Suchbegriff']); //Suche Zeile nach Column 0 und 1 mit Suchbegriffen 1 und 2 SeekRecord(Grid,[0,1],['Suchbegriff1','Suchbegriff2']); //Suche Zeile nach Column 1, 5 und 2 mit Suchbegriffen 1, 2 und 3 SeekRecord(Grid,[1,5,2],['Suchbegriff1','Suchbegriff2','Suchbegriff3']); //usw. end;