dbgrid打开一张数据库表,修改一个cell的值后,点击别的cell就能更新成新数据,点击dbgrid的空白处怎么就恢复成未修改前的数啦?

解决方案 »

  1.   

      
        在  dbgrid 的MouseDown事件中加入以下代码就OK了
          if ADOTable1.State in [dsinsert,dsedit] then
            ADOTable1.Post;    如果用的ADOQuery就将ADOTable改成ADOQuery
      

  2.   

    谢谢哦, 我试试 !~ 不过我用的不是ADO,是BDE 
      

  3.   

    采用批量更新方式,界面上提交的数据只是提交到客户端内存,撤销就简单了。CachedUpdates  //设置批量更新方式
    CancelUpdates  //撤销更新自行调试一下试试看。