procedure Tmainfrm.FormActivate(Sender: TObject);
var
  sqlstr:string;
begin  adoconnection1.Connected:=true;
  adoquery1.close;
  adoquery1.SQL.Clear;
  sqlstr:='******';
  adoquery1.SQL.Add(sqlstr);
  adoquery1.Open;
  dbgrid1.Enabled:=true;end;为什么一开始时dbgrid是空的,在dbgrid上随便点击一下鼠标才显示出来?

解决方案 »

  1.   

    dbgrid1.update;最好放到form.show中
      

  2.   

    你换个事件是一是,如form1.show里
      

  3.   

    为什么要用这个属性:dbgrid1.Enabled:=true;
    在设计时将dbgrid1.Enabled设置为TRUE即可!
      

  4.   

    设计时设为true也不行为什么FormActivate事件不行呢?一定要用formshow吗?用formactivate是因为程序需要,也想弄清楚^-^
      

  5.   

    谢谢!在设计时把dbgrid1.enabled设为true也一样不行难道只能用formshow吗?用formactivate是因为程序需要,同时也想弄清楚为什么^-^有人有过这样的经验么?