当我修改DBGRID中的某个字段的值时,如果我一个单元格的值(此时鼠标仍留在此单元格内)然后直接点击保存,数据未保存进去,但是如果我修改好一个单元格的值,把鼠标移到其它单元格再点击保存,数据就保存进去了,请问DELPHI对此问题有何解决方法!

解决方案 »

  1.   

    直接发送一个DBGRID.DataSource.DataSet.Next;就可以了
      

  2.   

    关键是你点击保存时做了什么,如果你在保存按钮的事件处理程序中增加一条语句:
    if Table1.State in [dsEdit, dsInsert] then Table1.Post;
    那么就可以搞掂了。
      

  3.   

    难道你们都没有碰到过这种问题吗?可能是你们没注意罢了啊,我记得PB的数据窗口中专门有针对这样问题的解决方法的啊!
    TO h_huajun(阿华),用你的方法当然是可以解决的,但是我要的不是这样的回答啊!我只是希望专门有针对这种问题的简洁的方法!
      

  4.   

    在delphi中,你只要是修改了他的数据,他就修改Dataset.State的值,只要是DataSet.State in dsEditModes 的情况下,你都可以自己来用程序:DataSet.Post来提交
      

  5.   

    我一向post都没什么问题,这么简单的东西。
    说说你是怎么保存的,不说谁能帮你?