Ich habe ein DBGrid von Devexpress und dadrin ein paar Daten. Ich möchte jetzt zu diesen Daten eine weitere Zeile hinzufügen. Soweit nichts besonderes.
Nun habe ich ein ganz ungewöhnliches Verhalten. Das Feld 'bezeichnung' ist vom Typ widestring. Ich versuche diesem einen Wert zuzuordnen. Aber der Wert von cbbezeichnung.EditText wird nicht übergeben. Im Debugger sieht man, dass im cbbezeichnung.edittext ein Wert vorhanden ist, aber FCds.FieldByName('bezeichnung').Value bleibt bei "" stehen.
Delphi-Quellcode:
{FCds = TClientDataSet}
FCds.Append;
FCds.FieldByName('bezeichnung').Value := cbbezeichnung.EditText;
FCds.FieldByName('von').AsDateTime := dateedtVon.Date;
FCds.FieldByName('id').AsFloat := id;
FCds.Post;
Alternativ habe ich versucht:
FCds.FieldByName('bezeichnung').asWideString := cbbezeichnung.EditText;
mit dem selben Ergebnis
FCds.FieldByName('bezeichnung').asWideString := null;
dieses führt dazu, dass anschließend Null in FCds.FieldByName('bezeichnung').asWideString steht. Somit ist zumindest das Feld veränderbar.
In der UniQuery Komponente habe ich RequiredFields und SetFieldsReadOnly auf False gesetzt.
Ich habe schon einmal fast alles gelöscht und neu gemacht. Mir gehen die Ideen aus.