在用delphi做录入的时候,有多个日期字段,可以为空,用户不想用edit进行录入,用maskedit控件添加的时候不能为空?请大家帮我想一个好的办法?

解决方案 »

  1.   

    DateTimePicker有个checked属性,可以使他有效或着无效
      

  2.   

    可以给一段代码吗?添加的时候如何判断DateTimePicker的checked属性,有效或着无效?
      

  3.   

    还要主要DateTimePicker不能赋空值,它的date属性设为空的话成就显示1899年12月30日,我觉得只有象cuizhen7(如花)说的如果没有checked,就对相应字段日期赋成空值,如果checked,就对应数据库表提交相应的DateTimePicker.date的值
      

  4.   

    我是这样做的,将没有3D效果与边框的Text与DateTimePicker整合在一起(Text放在DateTimePicker的上面,一般用户是很难发现的)
    procedure Tfrmsearch.dtpbeginChange(Sender: TObject);
    begin
      edtbegin.Text := FormatDateTime('YYYY-MM-DD', dtpBegin.Date);
    end;procedure Tfrmsearch.dtpendChange(Sender: TObject);
    begin
      edtend.Text := FormatDateTime('YYYY-MM-DD', dtpend.Date);
    end;
    这样一来Text是可以判断是否为空的。明白了吗?结贴吧!
      

  5.   

    在日期控件前加一个CheckBox吧,想置空就不要勾好了
      

  6.   

    LZ给分
    function TForm1.GetDateTime: TDatetime;
    begin
      if mydatetimepacker.Checked then
        result:= mydatetimepacker.DateTime
      else
        result:= null;
    end;