hallo,
ich bin grad dabei ne kleine suche für meine daten in einem stringgrid zu erstellen.
es sollte so funktionieren: Suchfeld ist hierbei eine normale TEdit.
bei eingabe "a", soll die der eintrag der mit a beginnt markiert werden.
bei eingabe "amselweg", soll die der eintrag der "amselweg" markiert werden.
ich bin zwar soweit dass ich den ersten buchstabe erfassen kann, aber weiss auch nicht weiter, wass da nicht stimmt.
Edit.OnChange:
Delphi-Quelltext
1: 2: 3: 4:
| procedure TFormVSC.JvDBSearchEdit1Change(Sender: TObject); begin SeekRecord(GridStrassenverzeichnis, [1], [JvDBSearchEdit1.text]); end; |
function:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22:
| 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; end; if Result = True then Break; end;
if Result = True then Grid.Row := I end; |