wwtbl_tj.Filtered:=True;
  wwtbl_tj.Filter:=' AUDITER_NUMBER='''' OR AUDITER_NUMBER IS NULL';
  wwtbl_tj.Open;
  wwtbl_tj.Last;在FormCreate事件里写得如下代码,之后在此过滤条件进行添加,删除,修改,但是有一个问题就是每次添加一条记录,这条刚刚添加的记录。不会显示在所连Ttable的Dbgrid中。当我把这个窗体关闭,,再打开的时候,才会在Dbgrid显示这条新添加的记录加上原来的记录。
这是什么原因呢。请解答!谢谢

解决方案 »

  1.   

    //**********************
    那是因为在对表的操作之前你已经把dbgrid 和table关联了,试一下把它table的autorefresh的属性设置为true
    //**********************
      

  2.   

    请参考以下代码:
    wwtbl_tj.Filtered:=false;
    wwtbl_tj.Filter:=' AUDITER_NUMBER='''' OR AUDITER_NUMBER IS NULL';
    wwtbl_tj.filtered:=true;
    wwtbl_tj.Open;
    wwtbl_tj.Last;
    wwtbl_tj.refresh;
      

  3.   

    如果新增的记录也在过滤排除的范围内,自然不显示了。
    不在内的话wwtbl_tj.refresh;应该就行了。
      

  4.   

    可能是过滤器关上了,变一下代码位置:
    wwtbl_tj.Filter:=' AUDITER_NUMBER='''' OR AUDITER_NUMBER IS NULL';
    wwtbl_tj.Filtered:=True;