用BEFOREPOSE事件来进行控制,在里面写处理事件,如果有误,就ABORT,向下时就不会保存成功了。

解决方案 »

  1.   

    "DBGrid的指针要么在最上,要么在最下",可以这么解决:用ADOConnection和ADOTable代替TDatabase和Table就可以了,因为TDatabase和Table不支持数据库光标。
      

  2.   

    用table 或 query的next、prior方法控制选择。
    在table query的beforepost事件里检测。
      

  3.   

    在Table 或 query 中的beforescroll 事件中写入代码,
      比如用保存按钮的enabled属性作if的条件,假设按钮名为tlb_save,代码如下:
       if Tlb_Save.Enabled then
         Abort;
      

  4.   

    各位可能不所不知,我一个Query连了五六个DBGrid和StringGrid,如果要修改的话,说不定,我
    整个程序都得翻一遍。百思不得其解。
      

  5.   

    依我看,根本的解决办法是:量身订做一个新的DBGrid
      

  6.   

    用BeforePost事件来进行控制,如果某个字段为空值或不满足要求,就Cancel,ABORT,向下时就不会保存成功了。 
    或者,干脆在BeforePost里提供对话框,提示是否保存。
    要么就自己做一个控件吧!!!
      

  7.   

    dbgrid真的是很不好用.我不喜欢这个控件.