추가 설명 드리겠습니다.
1) 컬럼 타입
데이터셋의 컬럼 정의시 존재하지 않는 컬럼 타입(NUMBER, VARCHAR 등)으로 지정하는 경우
디폴트로 STRING으로 인식하게 되어있습니다.
따라서 c:NUMBER(20) 으로 지정하시면 실제로 해당 c컬럼의 데이터 타입은 STRING이 되기 때문에
displayformat에서 숫자 마스크 기능인 #, 0 으로 지정했을 때 데이터가 보이지 않게 되는 것입니다.
단순히 천단위 구분만 표현하시고자 하는 경우에는 천단위 , 표시가 디폴트이기 때문에
숫자형 컬럼(INT, DECIMAL, BIGINT)은 displayformat이나 mask기능을 사용하지 않아도 됩니다.
매뉴얼의 SetDataHeader 항목에 대한 설명을 보시면 컬럼 타입에 대한 부분이 있으니 참고하시기 바랍니다.
(단, BIGINT 타입의 경우 GAUCE 4.0 이상을 사용하셔야 합니다.)
2) 컬럼 사이즈
숫자형 컬럼의 사이즈를 20으로 지정하셨는데,
가우스에서 지정 가능한 컬럼타입별 사이즈는 Java와 동일합니다.
INT 타입은 java의 int와 동일. 32비트 정수이므로 유효자리수는 9자리
BIGINT 타입은 java의 long과 동일. 64비트이므로 유효자리수는 18자리
DECIMAL 타입은 java의 double과 동일. 알아서 계산.
STRING 타입은 java의 string과 동일. 유효자리수는 6143자리(java는 6144byte이나 내부적으로 1byte를 사용함)
3) 그리드 마스크 기능(DisplayFormat, Mask)
DisplayFormat=“###,###,###,###” 이런 식으로 사용하시면 원하는 형태대로 표현되지 않을 것입니다.
정수부 천단위만 표현하고자 하는 것이라면, DisplayFormat=“#,##0” 으로 지정하시면 됩니다.
DisplayFormat에 대해서는 매뉴얼 상의 설명을 다시 한번 잘 읽어보시기 바랍니다.
>컬럼타입이 숫자형이면 자동으로 천단위 컴마와 숫자형 데이터만 입력하게 됩니다.
>
>헤더생성시 NUMBER 타입은 존재하지 않습니다.
>INT, DECIMAL, BIGINT형만 사용가능합니다.
>
>자세한사항은 관련링크1의 ColumnType 메소드를 참고하시기 바랍니다.
>
>감사합니다.
>
>>게시판을 이용해 주셔서 감사합니다.
>>다음양식에 맞게 입력해주세요.
>>
>>* 고객시스템명 :
>>* GAUCE 버전 : 4.0
>>* WAS 종류(WebLogic 등등) : Weblogic
>>* DB 종류 : Oracle
>>* 문의 유형(질문/요청/참조) : 질문
>>* 내용 :
>>
>>안녕하세요
>>
>>그리드에서 헤더를 추가하고 addRow를 한후에, 그리드컬럼에 숫자입력후 천단위, 를 찍어서 보여주고 싶습니다.
>>
>>어떻게 해야 되는지 답변부탁드립니다.
>>
>>(DisplayFormat을 쓰면되는거 같은데.. 해당 format을 입히면 컬럼에 데이터가 보이지 않습니다.
>>mask를 추가해도 마찬가지 입니다.)
>>
>>그리고 해당 그리드 컬럼에 숫자만 입력가능하도록 하는방법도 부탁드립니다.
>>
>>현재
>>그리드는
>><c> id=a ....
>><c> id=b ...
>><c> id=c name=금액 width=100 align=right Edit=true dec="0" SumText=@sum SumColor="blue" DisplayFormat =“###,###,###,###”</c>
>><c> id=d ....
>>
>>헤더 추가후
>>v_header = "a:STRING(20),"
>> + "b:STRING(100),"
>> + "c:NUMBER(20),"
>> + "d:NUMBER(20)";
>> dsData.SetDataHeader(v_header);
>>
>>dsData.AddRow();
>>
>>후에 해당 C컬럼에 숫자를 입력하고 focus가 이동한 후에는 해당 컬럼에 값이 보이질 않습니다.
>>
>>
>>
>>
>>
>>
>