델파이2005/퀀텀그리드6 를 사용하고 있습니다.
BandedTableView 에서 코딩으로 Banded 및 컬럼을 추가하려고 합니다.
궁금한 것은 CurrencyEdit 에서 소수점 위치(DecimalPlaces) 와 DisplayFormat 을 지정하는 방법입니다.
Banded 및 컬럼 추가는 아래와 같이 처리하였는데
DecimalPlaces 와 DisplayFormat 을 설정하는 부분에서 오류(컴파일 오류)가 발생합니다.
고수님들의 답변 부탁드립니다.
procedure Grid_Set;
var fItems : TcxGridBandedColumn;
begin
Try
cg1BTV1.BeginUpdate;
cg1BTV1.ClearItems; // 컬럼 삭제(All)
cg1BTV1.Bands.Clear; // 밴드 삭제(All)
cg1BTV1.Bands.Add;
cg1BTV1.Bands[0].Caption := '계약수량'; // 밴드 추가
cg1BTV1.Bands[0].Styles.Header := DBM.cxStyle1;
fItems := cg1BTV1.CreateColumn; // 컬럼 추가
fItems.Name := cg1BTV1.Name + 'QTY';
fItems.PropertiesClassName := 'TcxCurrencyEditProperties';
fItems.Properties.Alignment.Horz := taRightJustify;
fItems.Properties.Alignment.Vert := taVCenter;
fItems.Position.BandIndex := 0;
fItems.Position.ColIndex := 0;
fItems.Position.RowIndex := 0;
fItems.Styles.Header := DBM.cxStyle1;
fItems.HeaderAlignmentHorz := taCenter;
fItems.HeaderAlignmentVert := vaCenter;
fItems.Width := 100;
//. 에러 나는 부분 Start
fItems.Properties.DecimalPlaces := 2;
fItems.Properties.DisplayFormat := '#,0.00;-#,0.00';
//. 에러 나는 부분 End
Finally
cg1BTV1.EndUpdate;
End;
end;
답변해 주셔서 감사합니다.
그런데 제가 하수인지라 담더기 님께서 말씀하시는 내용을 잘 이해를 못하겠습니다.
괜찮으시면 조금 상세하게 설명해 주셨으면 합니다.
참고로 다른 퀀텀그리드의 컬럼 속성을 그대로 연결했는데도 잘 안되네요
fItems.Properties := cg1TV1QTY.Propertis;
해결했습니다.
에러나는 부분을
( fItems.Properties as TcxCurrencyEditProperties).DisplayFormat := '#,0.00;-#,0.00';
( fItems.Properties as TcxCurrencyEditProperties).DecimalPlaces := 2;
로 수정하였습니다.
오호 좋으네요
같은 경험이 있는데..고민을 하다가 방법을 못찾아서 전 약간 다른 방법으로 했는데요...
디자인 타임에서 별도의 프로퍼티리스트를 두고 거기에 미리 해당 프로퍼티를 지정한 후 동적 생성한 컬럼의 프로퍼티를 거기로 연결해 줘서 사용을 한적이 있습니다.
음...그냥 참고 하셔도 되는....그런 거였습니다.