안녕하세요, 왕초보입니다.
ClientDataSet의 Integer필드에서 format을 '#,###' 으로 설정하고,
만약 체크박스에 체크가 되어있다면 format을 '#,##0' 으로 바꾸려고 합니다.
if Chk_Box.Checked then begin
if DBGridEhD.Fields[i] is TIntegerField then
(DBGridEhD.Fields[i] as TIntegerField).DisplayFormat := '#,##0';
end;
요렇게 해줬는데요. 에러는 안나는데 무조건 디폴트로 설정해준 #,###으로 먹히더라구요.
그래서 쿼리에서 Integer값들을 Decimal(18,0)으로 convert 시켜주고
ClientDataSet의 필드를 Currency 타입으로 바꾼 후
위의 소스를
if Chk_Box.Checked then begin
if DBGridEhD.Fields[i] is TCurrencyField then
(DBGridEhD.Fields[i] as TFloatField).DisplayFormat := '#,##0';
end;
요렇게 수정해주니 그제서야 됩니다.
Integer에서는 #,###이 안먹히나요?그건 아니겠죠?^^;
선배님들의 조언 부탁드립니다~!!