在dbgrid 中在新增记录中,如何检查字段的正确性,如不正确要求焦点仍在原cell??
给出提示信息,且不产生移动,或某一必要字段时,不让上下左右移动!!!!
 最好能给source !!thks(以前用vb语言实现过,在delphi就傻了)

解决方案 »

  1.   

    或可在字段的OnValidate里


    if query1.FieldByName('Field1').AsInteger < 5 then
      raise Exception.Create('Failed');
      

  2.   

    在datasource的fields中循环判断,如果不符合条件就停止,焦点自然会停在错误的地方
      

  3.   

    建议楼主把新增记录和已有数据的显示分离
    在新增记录界面检查输入的有效性,有效才允许增加
    不然你的程序逻辑会很乱,我怕到时连你自己也看不懂我的前辈就是用你现在用的方法,他们做完了让就我来维护(改bug),改到我十分头痛
    后来干脆重做了一遍,还省事一些
      

  4.   

    建议从数据源着手:如Query table