当用dbgrid编辑记录的时候,怎样将某一列的输入值的输入范围 比如第三列字段, field3 的值只能是field3>0 and field<100
输入其它的则 报错。

解决方案 »

  1.   

    1、字段设置约束条件;
    2、在ONKEYPRESS事件中处理。
      

  2.   

    To: 楼上:
     1.这个要等到提交到数据库时才可以,再说了,报出来的错误是E文的,不把客户吓跑才怪!
     2.OnKeyPress,这要处理多少呀!!!复杂度不少于重建一个Windows!To: 楼主:我有一个解法:就是用永久字段,然后在Field3.OnValidate 中写入你的代码:
    procedure TDataModaul1.Query1Field3Validate(Sender: TField);
    begin
      inherited;
      
      if ( Sender.AsFloat <= 0 ) or ( Sender.AsFloat >=100 ) then 
      begin
        ShowMessage("输入的值必须在0到100之间!!");
        Abort;
      end;
    end;
      

  3.   

    编辑完后提交的时候判断 Keypress()
    Key==13  //回车的时候
      

  4.   

    支持 hydonlee(青山情)。 dbgrid毕竟只是现象,dataset才是本质。 处理onkeypress之类的东西我是受够了,关联的东西还真不少。
      

  5.   

    同意 hydonlee(青山情) ( )