我使用其Picklist属性,但是仍能输入不在范围内的值

解决方案 »

  1.   

    如果加mask可以修改该字段的editmask属性,比如将其修改为9,就只能输入一位数字如果只想让某几个值有效
    可以考虑在这个字段的change事件中加个检验,这样虽然能输进去,不过提交不上去。举例,adotable1中power字段的change事件
    procedure TForm1.ADOTable1powerChange(Sender: TField);
    begin
      if (TWideStringField(Sender).Value <> 'a') and
        (TWideStringField(Sender).Value <> 'b')then
      begin
        ShowMessage('This field''s value must be a or b');
        Abort;
      end;
    end;