cxDBTreeList被修改后如何能够马上刷新,不要使用DateSet.Close和DateSet.Open

解决方案 »

  1.   

    cxDBTreeList属于感知控件,不刷新数据集,怎么更新呢
    你的意思说 只更新修改的数据?
    这个好象还不行吧.
    看楼下有没有高手能做到
      

  2.   

    我的意思不是说不刷新数据集,主要是因为定位在某一条记录做修改时,修改后如果用DateSet.Close和DateSet.Open来做刷新的话,会跑到第一条记录去,找不到本来的那条记录了。
      

  3.   

    使用Post就可以提交记录,为何用CLose,Open呢
      

  4.   

    但是交后cxDBTreeList没有马上刷新啊
      

  5.   

    在 pulicdataset.sql.text:='update mytable set myfield1='aaa'......'这样语句更新数据的记录(不需要是cxdbtreelist关联的那个数据库),cxDBTreeList会自动刷新的....
    但如果用pulicdataset.append; pulicdataset.post或 pulicdataset.sql.text:='insert into mytable ...',这样的语句新增的记录,cxDBTreeList是不会自动刷新的..
    或者你可以用 cxDBTreeList.fullrefresh.....如果还不行的话,给你一个傻一点的解决方法: close,open前,先记录你修改的记录的唯一的值,close,open之后再locate 这个唯一的值,就可以定位到你修改的这条记录了...
      

  6.   

    (不需要是cxdbtreelist关联的那个数据库),cxDBTreeList会自动刷新的.... 
    改为:
    (不需要是cxdbtreelist关联的那个数据" 集 " ),cxDBTreeList会自动刷新的....