Thema: Delphi DBGrid - onclick

Einzelnen Beitrag anzeigen

julchen

Registriert seit: 20. Mär 2008
117 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: DBGrid - onclick

  Alt 8. Aug 2025, 13:58
Hallo,

erst mal DANKE für die Erkenntnis von onclick.
Ich wußte nicht, dass man "so einfach" ein neues Ereignis schreiben kann.

Der Wechsel der Daten hat dann Funktioniert beim ersten Klick.
Danach sind die Werte in der RadioGroup nicht aktualisert worden, wenn Datensatz und Grid den Fokus wechseln.

ChatGpt hat mir dafür eine ganz andere Lösung geschrieben, die die Werte bei jedem Klick auf einen anderen Datensatz aktualisiert:

Code:
procedure TForm1.DataSource2DataChange(Sender: TObject; Field: TField);
var
  wert: string;
begin
  if not Assigned(DataSource2.DataSet) then Exit;
  if not DataSource2.DataSet.Active then Exit;

  wert := DataSource2.DataSet.FieldByName('pruefer').AsString;

  if (Field = nil) or (Field.FieldName = 'pruefer') then
  begin
    if wert = 'Prüfer:' then
      RadioGroup1.ItemIndex := 0
    else if wert = 'Prüferin:' then
      RadioGroup1.ItemIndex := 1
    else if wert = 'Protokollantin:' then
      RadioGroup1.ItemIndex := 2
    else if wert = 'Protokollant:' then
      RadioGroup1.ItemIndex := 3
    else
      RadioGroup1.ItemIndex := -1;
  end;
end;

procedure TForm1.RadioGroup1Click(Sender: TObject);
begin
 case RadioGroup1.ItemIndex of
    0: DataSource2.DataSet.FieldByName('pruefer').AsString := 'Prüfer:';
    1: DataSource2.DataSet.FieldByName('pruefer').AsString := 'Prüferin:';
    2: DataSource2.DataSet.FieldByName('pruefer').AsString := 'Protokollantin:';
    3: DataSource2.DataSet.FieldByName('pruefer').AsString := 'Protokollant:';
  end;
end;
Bis dann ...
Kollegin: Am Wochenende wird mein PC immer langsamer! Liegt das am Strom?
  Mit Zitat antworten Zitat