파라독스 의 date type field가 dbgrid상에 display될때 yyyy/mm/dd형식으로 뿌려지게 할려면 어떻게 해야 하나요..?? field의 edit mask를 편집해도 안되고 bde configuration의 system설정부분의 날짜형식을 수정을 해도 안되니..?? 쩝....
박흥태
•
1999.08.13 00:49
송기원 께서 말씀하시기를...
> 파라독스 의 date type field가 dbgrid상에 display될때
> yyyy/mm/dd형...
> 파라독스 의 date type field가 dbgrid상에 display될때
> yyyy/mm/dd형식으로 뿌려지게 할려면 어떻게 해야 하나요..??
>
> field의 edit mask를 편집해도 안되고 bde configuration의
> system설정부분의 날짜형식을 수정을 해도 안되니..??
> 쩝.. 어떻게 하는지 아시는 분 계십니까?
이거는요....
제가 예를 들어서 설명을 드릴께요...
DataSet1 (뭐 Table이나 Query나 상관없음) -> DataSource1 -> DBGrid1식으로
연결되어 있고, 바꾸고자하는 Date형 필드가 DataSet1의 두번째 필드라면,
이 두번째 필드의 이벤트 OnGetText를 설정해줘야 합니다.
OnGetText의 선언은 아래와 같구요.
type TFieldGetTextEvent = procedure(Sender: TField; var Text: string;
DisplayText: Boolean) of object;
property OnGetText: TFieldGetTextEvent;
1. 먼저 다음과 같은 프로시져를 하나 생성합니다.
procedure TForm1.DBGrdFmtDate(Sender: TField; var Text: string;
DisplayText: Boolean);
begin
Text := FormatDateTime('YYYY/MM/DD', Sender.AsDateTime);
end;
2. 해당 필드와 위와 같이 작성된 프로시져를 연결시킵니다.
DBGrid1.DataSource.DataSet.Fields[1].OnGetText := DBGrdFmtDate;
(이때 주의할 점은 DataSet1이 열려진상태(즉, Active = True)인 상태여야
합니다.)
그리고 나면 원하는 형태의 결과를 얻을수 있습니다.
즐거운 하루되시기를......