안녕하세요?
첫번째 질문에 대한 답변.
=> 데이터셋에 내용을 입력할때는 앞의 문자열부터 파싱하여, 들어가게 됩니다.
해당 데이터가 올바른 데이터인가여부는 직접 keyin할때 달리 해당 데이터타입에 불일치하면
일치한 데이터까지만 넣게 됩니다.
따라서 위와 같은 데이터에서는 콤마를 제거후에 입력하셔야 합니다.
두번째 질문에 대한 답변
=> 문자 타입일때 세자리 구분하여 콤마를 찍는 방법은 value={number(컬럼명)}을 사용하시면 됩니다.
다만 위와 같이 선언한 경우에는 그리드에서 내용을 직접적으로 edit가 불가 합니다.
ex)
<F>ID=Emp_no, value={Number(emp_no)} Title="C-Project", </F>
emp_no라는 문자열을 숫자 형태로 변환.
그럼 수고하세요.
>
>제가 질문한 내용과 상이한 답변입니다.
>
>저의 질문 핵심은 => 1. 숫자 칼럼에 문자를 대입했는데 왜 오류 메세지가 안나오냐는 질문입니다.
> - 자바스크립트뿐 아니라 자바에서도 똑같이 오류가 안나고 짤려서 들어갑니다.
> - 자바 문법에서는 수치형에 문자 대입하면 바로 Exception 뜹니다.
> - 엄뚱한 결과는 오류 메세지 뿌리는것보다 더 심각한 결과를 초래합니다.
> 2. 문자타입의 숫자일때 그리드에 세자리 구분 콤마를 찍히게 하는 방법은요?
>
>
>>현재 작성하신 샘플을 보면
>>ds_test.NameValue(ds_test.RowPosition,"price") = "333,242.444";
>>처럼 작성을 하셨는데
>>입력하신 값자체가 숫가자 아닌 문자입니다.
>>해당 컬름은 숫자컬럼인데 문자부분부터 짤라서 표현해 333 이란 값이 나온것으로 보입니다.
>>
>>333,242.444값에서 ,를 제외하고 테스트 해보시기 바랍니다.
>>
>>샘플에 입력하신 ,는 천단위 구분을 위한것이지만 실제로는 문자일 뿐입니다.
>>
>>>게시판을 이용해 주셔서 감사합니다.
>>>다음양식에 맞게 입력해주세요.
>>>
>>>* 고객시스템명 : LG CNS [ PU-DSS]
>>>* 문의할 Component명 및 버전 : DataSet
>>>* DataSet 버전 : 4.0 [ CLSID:AF989B7C-8AC3-40bc-B749-EB335BDFD190 ]
>>>* Tr 버전 :
>>>* 문의 유형(질문/요청/참조) :
>>>* 내용 :
>>> ds_test.SetDataHeader("no:STRING(16),price:DECIMAL(10.2)");
>>> ds_test.addrow();
>>> ds_test.NameValue(ds_test.RowPosition,"no") = "1";
>>> ds_test.NameValue(ds_test.RowPosition,"price") = "333,242.444";
>>>
>>> alert( ds_test.NameValue(ds_test.RowPosition,"price") );
>>>
>>>위 결과는 333 입니다.
>>>엑셀로 데이타 편집시 숫자이면 자동으로 세자리 구분 콤마가 찍힙니다.
>>>엑셀 업로드시 아주 심각한 결과를 초래 할 수 있습니다.
>>>데이타의 양이 많을때 한두개의 데이타가 3자리를 초과해서 콤마가 찍히더라도
>>>사용자는 인지 하지 못합니다.
>>>
>>>아예 오류메세지가 나와야지 왜 엉터리 결과가 데이타셋으로 들어가 버릴까요?
>>>
>>>다음과 같이 아예 문자타입으로 하면 되기는 하지만 화면상의 그리드에 세자리 구분콤마가 안찍힙니다.
>>>ds_test.SetDataHeader("no:STRING(16),price:STRING(10)");
>>>해드가 문자타입일경우의 숫자라도 세자리구분콤마 찍는 방법은요?
>>>
>>>
>>>
>>>
>>
>