对了是要把datetimepicker放在dbgrid的cell中去更新

解决方案 »

  1.   

    不用的,只要你的表可以修改,应该自动弹出datetimepicker控件的。
      

  2.   

    我的表是可以修改的但我确要手工修改所以一没有写就报错所有我想如果有一个datetimepicker就好了但我不知道怎么弄还望那位帮忙。
      

  3.   

    换一个DBGrid控件吧,用TopGrid,设置一下就行了。
      

  4.   

    那就好就是利用dbgrid再加点别的手段可以实现吗。
      

  5.   

    以下代码是网友windwy()写的: 
    procedure TFmfilialinfo.DBGrid1DrawColumnCell(Sender: TObject;
      const Rect: TRect; DataCol: Integer; Column: TColumn;
      State: TGridDrawState);
    begin
      if (gdfocused in state) and (column.FieldName='出生年月') then
        begin
          DateTimePicker1.SetBounds(rect.Left + dbgrid1.Left + 1,rect.Top + dbgrid1.Top +1,
                                    rect.Right - rect.Left ,rect.Bottom -rect.Top);
        end;
    end;
      

  6.   

    也可以,麻烦一点.
    你先做一个只含有DatetimePicker控件的窗体。然后在DBGrid的MouseUp事件中判断当前鼠标点击的位置,如果是日期时间字段的地方,就在当前位置弹出DateTimePicker窗体,窗体关闭后,将Datetimepicker的值赋给点击的字段就行了。