Q&A

  • 퀀텀그리드 코딩으로 Band/컬럼 추가하기

델파이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;

4  COMMENTS
  • Profile
    담더기 2013.09.06 11:00

    같은 경험이 있는데..고민을 하다가 방법을 못찾아서 전 약간 다른 방법으로 했는데요...

    디자인 타임에서 별도의 프로퍼티리스트를 두고 거기에 미리 해당 프로퍼티를 지정한 후 동적 생성한 컬럼의 프로퍼티를 거기로 연결해 줘서 사용을 한적이 있습니다.

    음...그냥 참고 하셔도 되는....그런 거였습니다.

  • Profile
    짱돌 2013.09.06 20:17

    답변해 주셔서 감사합니다.

    그런데 제가 하수인지라 담더기 님께서 말씀하시는 내용을 잘 이해를 못하겠습니다.

    괜찮으시면 조금 상세하게 설명해 주셨으면 합니다.

     

    참고로 다른 퀀텀그리드의 컬럼 속성을 그대로 연결했는데도 잘 안되네요

    fItems.Properties := cg1TV1QTY.Propertis;

  • Profile
    짱돌 2013.09.06 21:02

    해결했습니다.

     

    에러나는 부분을

    ( fItems.Properties as TcxCurrencyEditProperties).DisplayFormat := '#,0.00;-#,0.00';
    ( fItems.Properties as TcxCurrencyEditProperties).DecimalPlaces := 2;

     

    로 수정하였습니다.

  • Profile
    인텔리센스 2013.10.11 19:37

    오호 좋으네요