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 ...