我主要遇到两个问题:
   1.如何让datetimepicker在系统新增功能中显示当前时间;而当在浏览或修改功能中显示数据库中的数据?
   我的代码如下:
   if DBGrid1.Datasourse.dataSet.state=dsInsert  then
    Begin 
      DateTimePicker1.DateTime:=now;
    End;
   If DBGrid1.Datasourse.dataSet.state=dsEdit  then
    Begin
      DateTimePicker1.DateTime:=DBGrid1.Datasourse.DataSet.FiledByName("Open_Date").Value;
    End;
  从代码看来应该没错,但是运行的时候它总是在新增中显示当前时间,在浏览修改中显示加如datetimepicker时的日期。
   2.如何让DateTimePicker里边的东西清空?

解决方案 »

  1.   

    DateTimePicker不能清空,这是由它的属性决定的
      

  2.   

    DataTimePicker里边是不可能清空的;
    是不是你的DBGrid1.Datasourse.DataSet.FiledByName("Open_Date").Value;不合法?
    或者你没有用DataTimePicker.refresh.
      

  3.   

    你可以设置DateTimePicker1的Format属性,造成DateTimePicker1为空的假象。
    具体如下,
    初始化为空值:
      DateTimePicker1.Format:= '''';//实际上DateTimePicker1.Date(或DataTime)还是存在。
     ...// 这里可以进行一些处理
     
    将DateTimePicker1的值显示出来:
     DateTimePicker1.Format:= '';
      

  4.   

    procedure TForm1.Button1Click(Sender: TObject);
    begin
       Dt.DateTime:=strtodate('2002-3-18');
       dt.Refresh ;
    end;
    我这里没问题
      

  5.   

    同意  fancier(OP&&(C/C++))
      

  6.   

    DateTimePicker1.Date := Now;
      

  7.   

    那么我数据表里边DateTime类型的字段可以为空,但又用到DateTimePicker控件,我该如何处理?