DBGrid→DataSource1→ADOQueryと紐つけてデータを表示させたのですが、
新規行作成時にデフォルト値を設定したいと考えています。
ADOQuery1.FieldByName('xxx').DefaultExpression := 'yyy';
と設定を行いました、
新規行が表示された際に空の項目のままだったのです。
プロパティの設定が間違っているのか
そもそもこのプロパティでいいのかわからず
質問いたしました。
よろしくお願いします。
http://support.codegear.com/jp/article/36473
TField オブジェクトに DefaultExpression の指定を行うには
上記記事をみて下記のように設定してみました
ADOQuery1.FieldByName('xxx').DefaultExpression := '''yyy''';
がうまくいきませんでした。
VCL内のリソースを追ってみても
GetHasConstraintsメソッド内でしか使われていないような感じです。
DefaultExpression使ったことないので代替案。
AfterInsertイベントでは無理ですかね?
procedure TForm1.ADOQuery1AfterInsert(DataSet: TDataSet);
begin
DataSet.FieldByName('xxx').AsString := 'yyy';
end;
ADOはやったことないので想像です。
ご容赦ください。
Ruさんの方法で解決しました。
ありがとうございます
ツイート | ![]() |