在cxgrid中,双击某一行的记录新建窗体对该条记录的信息进行修改,修改之后,关闭窗体刷新cxgrid,但是每次刷新之后,焦点都不在修改行的位置了。cxgrid中有滚动条,刷新之后滚动条就直接跳到最上面了。有什么办法使焦点能在当前修改行,又保持数据能刷新呢。

解决方案 »

  1.   

    1:执行以前
    var
      n: Integer;
      n := ADOQuery1.RecNo;
    2:执行以后
      AdoQuery1.recno:=n;
      

  2.   

    执行前
    i := cxGrid1DBTableView1.DataController.FocusedRecordIndex;
    刷新后
    cxGrid1DBTableView1.DataController.FocusedRecordIndex := i;
    这样也不行。郁闷
      

  3.   

    怎么可能,我这里都可以,,,
    ADOQuery1.RecNo; :取光标位置
    刷新
    n:为全局变量
    AdoQuery1.recno:=n;
    -----------
    你用什么连接数据库?
      

  4.   

    要在双击某条记录的时候能取道ADOQuery1.RecNo这个吗。我为什么取出出来是-1
    ADo连的数据库
      

  5.   

    'BookMark'or 
    'adoquery.locate()'
      

  6.   


    用 BookMark 或者: 你修改的信息总有个主键吧?? 用 Locate 重新定位下.