DBGRID的日期显示问题(20分)

  • 主题发起人 happytaa
  • 开始时间
H

happytaa

Unregistered / Unconfirmed
GUEST, unregistred user!
现在有一字段是DATETIME字段,其中的一条记录是2001-02-12 12:00:00
要在DBGRID中显示,可是只出现日期,没有时间,怎么将它们全显示出来!
 
将日期字段的DisplayFormat属性设置成yyyy-mm-dd hh:mm:tt
 
同意 panyongze 的意见

设置table的字段的属性
 
我用的是adoquery,而且用的是动态查询!
 
DisplayFormat:='yyyy/mm/dd'
 
在运行时改变displayformat的属性
 
完全同意 小天 和 吴向球 的意见,
你也可以在SQL语句中直接转化成所需要的格式,有时也是一种更好的办法。
 
procedure TFrmMain.GrdBillDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if Column.Field.FieldName='字段名' then
begin
GrdBill.Canvas.TextOut(Rect.left+2,Rect.top+2,
FormatDateTime('YYYY-MM-DD hh:nn:ss',Column.field.asdatetime));
end
else
GrdBill.DefaultDrawColumnCell(Rect,datacol,column,State);
end;
 
同意 panyongze 的意见
但解决问题方法有多种.
我建议你可修改字段OnGetText事件,
直接将变量Text:=Sender->AsString;即可.
 
多人接受答案了。
 
顶部