Einzelnen Beitrag anzeigen

Andreas Schilling

Registriert seit: 6. Sep 2006
106 Beiträge
 
Delphi 10.3 Rio
 
#2

Re: DBGrid editieren einzelner Zellen

  Alt 25. Jul 2007, 07:06
Ich hoffe das hilft.
Delphi-Quellcode:
// für die Query welches die Daten für das Grid liefert wenn der Datensatz wechselt
// aber die Spalte gleich bleibt
procedure TForm1.Query1AfterScroll(DataSet: TDataSet);
begin
  if DBGrid1.SelectedField <> nil // nil ist immer readonly
  then begin
    // wenn nur bestimmte Spalten betroffen sind
    if ((DBGgrid1.Selectedindex = 3 )
    then begin
      // wenn von einem Wert des aktuellen Datenzeile abhängig
      if Query1.FieldByName('ABDAT').AsString <> 'then
      DBGrid1.SelectedField.ReadOnly := true else
      DBGrid1.SelectedField.ReadOnly := false;
    end
    else DBGrid1.SelectedField.ReadOnly := false;
  end;
end;

 
// für das Grid wenn der Datensatz gleich bleibt aber die Spalte gewechselt wird
procedure TForm1.DBGrid1ColEnter(Sender: TObject);
begin
  if DBGrid1.SelectedField <> nil
  then begin
    if ((DBGrid1.Selectedindex = 3)
    then begin
      if Query1.FieldByName('ABDAT').AsString <> 'then
      DBGrid1.SelectedField.ReadOnly := true else
      DBGrid1.SelectedField.ReadOnly := false;
    end
    else DBGrid1.SelectedField.ReadOnly := false;
  end;
end;
  Mit Zitat antworten Zitat