grideh的bug,delphi和c++builder都存在。
RAD自带的原始grid控件是好的。
procedure TForm12.DBGridEh2ColExit(Sender: TObject);
begin
if DBGridEh2.SelectedField.FieldName = 't2' then
Button1.Click();
end;
procedure TForm12.Button1Click(Sender: TObject);
begin
FDMemTable1.Append;
FDMemTable1.Fields.Fields[0].Value := 1;
ShowMessage('wait');
end;
wait对话框关闭前,没有新纪录出现
fix 解决方法,用timer延迟调用或线程。
procedure TForm12.DBGridEh1ColExit(Sender: TObject);
begin
if DBGridEh1.SelectedField.FieldName = 't2' then
TThread.CreateAnonymousThread(
procedure()
begin
Button1.Click();
end).Start;
// Timer1.Enabled := true;
end;
procedure TForm12.Timer1Timer(Sender: TObject);
begin
Timer1.Enabled := false;
self.Button1.Click;
end;
Timer1.Interal=10;设置很短,感觉不到延迟。