Thema: Delphi TField "Sperren"?

Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#7

Re: TField "Sperren"?

  Alt 14. Dez 2005, 13:30
Kompliziert ist das sicher nicht.

Delphi-Quellcode:
procedure TDataForm.TableDatumGetText(Sender: TField;
  var Text: String; DisplayText: Boolean);
begin
  if Lowecase(Sender.DataSet.FieldByName('Wochentag').AsString) = 'unbestimmt'
    then Text := ''
    else Text := Sender.AsString;
end;
Wenn du jetzt noch verhindern willst, dass der Benutzer Eingaben in Datum macht, dann kannst du die property ReadOnly des Feldes kontrollieren:

Delphi-Quellcode:
procedure TDataForm.DataSourceDataChange(Sender: TObject; Field: TField);
begin
  if not Assigned(Field) or (Lowercase(Field.FieldName) = 'wochentag') then
    with Field.DataSet.FieldByName('Datum') do
      ReadOnly := (Lowercase(Field.FieldName) = 'wochentag')
        and (Lowercase(Field.AsString) = 'unbestimmt');
end;
Hoffentlich habe ich nicht zu viele Fehler reingebaut...

Grüße vom marabu
  Mit Zitat antworten Zitat