这个BUG的产生这程是这样的:
 当我直接在dbGrid中更新数据时,比如我在第三行中修改了一个列的数据,我必须要把焦点移到第四行,或者第二行,,要不数据不会更新到数据库中,即使表面上是改变了,但一刷新,它的值还是没变, 如果要是查出来的结果只有一行显示在dbGridk中的话,那么在dbGrid中就不可能把数据更新,这是为什么啊!!有什么解决方法吗??我是个新手才学DELPHI不到两周,,,希望高手给出个答案!!

解决方案 »

  1.   

    这不是BUG,你可以用DBNAVIGATER,显式的提交数据。就可以了
      

  2.   

    Grid不是用AdoQuery或Adotable来操作的吗?!
    如果删除后没效果试试post;
      

  3.   

    DBGrid 里上条、下条操作默认先进行提交(等同于DBNAVI里的POST按钮),再进行PRIOR\NEXT操作的。不是BUG。也可直接通过操纵DS来操作。
      

  4.   

    先添加DBNAVI,把DBGrid和DBNAVI绑定,如DBNAVI在显示状态,则直接按POST按钮,也可隐藏DBNAVI,另外设法触发POST按钮,如添加“提交“按钮,使与POST按钮关联,修改后提交即可。
      

  5.   

    呵呵,这不是bug
    如果想提交,post一下或者移动记录
      

  6.   

    我只用一个 DBGRID 能否实现更新?? 因为我是改别人的程序,,,,大的改变肯定是不行的了,,牵涉的东西太多了
      

  7.   

    procedure Tfrmclxx.DBGrid1KeyPress(Sender: TObject; var Key: Char);
    begin
    if key=#13 then
      begin
     adotable.Edit;
    adotable.Post;
     end;
    end;
      

  8.   

    procedure Tfrmclxx.DBGrid1ColExit(Sender: TObject);
    begin
    adotable.Edit;
    adotable.Post;
    end;
      

  9.   

    如果我不想让光标移动到下行后dbgrid进行提交,当只有post后dbgrid才进行提交,该怎么样做呢?应为dbgrid默认情况下是自动提交的。谢谢