本帖最后由 vinge 于 2010-11-24 14:13:03 编辑

解决方案 »

  1.   

    edtName.SetFocus;后,数据集的编辑状态取消了,因为你只是append并没有写入数据
      

  2.   

    你所说问题我大概知道了。
    原因可能是:你原来的焦点在TdxDBGrid控件,由于SpeedButton是无焦点控件,你第一次点击时,焦点从TdxDBGrid控件移到了edtName控件,导致数据集从编辑状态改为浏览状态。第二次点击时由于焦点已在edtName控件,所以不会再发生焦点改变,数据集状态就不会改变了。可用下述方法改变:
    1.在SpeedButton点击事件中先 edtName.SetFocus;然后再用Append语句。
    或者2.改用:TButton,不用SpeedButton.
    或者3.在这个界面Show时将焦点移到别的控件,不要将焦点放到TdxDBGrid控件。
      

  3.   

    谢谢,大家说的极是,就是焦点的问题,在dataset的afterInsert事件里,人为的给FiledByName('某个字段')赋值后也可以避免,谢谢大家。