用Clientdataset、Append追加记录,如何即时在Dbgrid上显示出来?

解决方案 »

  1.   

    你的Dbgrid.datasource.dataset指向的是clientdataset的话,肯定会即时显示出来的。
      

  2.   

    如LS两位所说
    如果你是从其他form传CDS过来,可以通过判断ModalResult=mrOk来刷新数据
      

  3.   

    我的并没有即时刷新出来。我是这样的,界面上有Dbgrid, 在下方有增加记录的功能,有Edit1,和增加按钮。点击增加按钮后将新记录Append到数据库,但是数据库有了,Dbgrid没有即时显示出来。
      

  4.   

    那你就自己再重新刷新一下。 close  open
      

  5.   

    估计你是使用SQL插入到数据库的吧,如果是这样需要再重新提取一次数据,也就是需要再写SQL提取数据;
    不过可以采用下面的方法,例如:1、clientdataset.append;
       //给字段赋值后
       clientdataset.Post;如果dbgrid关联了数据集clientdataset,那么就可以及时的反映到dbgrid中;
      

  6.   

    你的Dbgrid.datasource.dataset指向的是clientdataset的话,肯定会即时显示出来的。
      

  7.   

    我增加记录用的组件是Edit,不是DbEdit,
      

  8.   

    你可以如5# 所说,重新Close Open一下
      

  9.   

    你可以如5# 所说,重新Close Open一下
    具体怎么实现?就是说要重新SQL,select 记录了?还是怎么着,
      

  10.   

    lz的问题不是很清楚~~~
    clientdataset如果不调用applyupdates,是不会提交数据库的。如果是在界面上的一个按钮,名字叫append,按完以后,数据库有数据更新了。
    只能说明一件事情。
    你的Grid对应的clientdataset,和提交用的dataset不是一个(或者如6楼所说,是直接用sql提交的);如果想看到更新,就要看append这个按钮的click事件,
    在提交完成以后,增加
    clientdataset.close;
    clientdataset.open;
    这样就是5楼所说的,close open刷新一下。
      

  11.   

    每次插完数据refresh下看看呢