在dbgrid的一些事件里写程序控制!

解决方案 »

  1.   

    在 
    table query
    的事件中
    onEditErr
    onpostErr
    onDeletErr
      

  2.   

    我用的是ADO
    onEditErr
    onpostErr
    onDeletErr
    在此三个事件中我已经试过,系统的英文提示还是出现
      

  3.   

    在数据集的POSTERROR事件中捕捉
      

  4.   

    你在编译的情况下,系统的英文提示总会出现的,运行exe应该没问题。
      

  5.   

    你在编译的情况下,系统的英文提示总会出现的,运行exe应该没问题正因为运行exe也出现英文提示问题,所以我才向各位指教啊,因为总
    是系统的英文提示先出现,我的获取的中文错误提示才显示出来。
      

  6.   

    这是因为DBGrid是和数据邦定在一起的, 增加修改时候,给那些不能为空的记录默认值,其实在Table字段的属性中有这么一个属性(REQuired),放它致成False. 即可
      

  7.   

    所以我后来再也不用什么DBEDIT,DBGRID,DBCOMBOBOX等东东了。
    我用StringGrid,TreeView,ListView之类的东西。
    麻烦就麻烦点,多数事情自己“说”了算,没有必要全部都交给
    Borland。
      

  8.   

    on...error;
    query.onpost/edit/..error事件;自己写一下error方法;
    exptionevten//不记了
      

  9.   

    楼上,我试过了
    在Onposterror,onediterror写自己的error提示
    是出现了,但出现这个提示之后系统的英文提示还
    是出现。
      

  10.   

    我这儿有一段代码,你拿去看看对你是否有用。我只是在用户在DBGrid中编辑时按动回车键移动焦点的时候会拦截,其他情况,你自己去考虑一下吧。procedure TInfoPrepInputFrm.DBGrid1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    var
      cur:integer;
    begin
      if key = VK_RETURN then
      begin
        cur := dbgrid1.SelectedIndex;
        if cur = dbgrid1.FieldCount - 1 then
        begin
          //在此判断当前记录是否有字段值为空,并作相关处理;
        end;
      end;
    end;
      

  11.   

    这种问题是你设计数据库的问题,你还是应该给不能为空的字段设Default或自动
    生成。