그리드 특정 컬럼의 데이터 타입을 설정하는 API이다. 그리드는 각 칼럼별로 data_type이라는 속성을 가지고 있으며, 각 칼럼의 data_type 속성에 따라, 칼럼의 아이템이 편집 모드 상태일때, 입력할 수 있는 데이터에 대해서 제약을 가한다. 즉 칼럼의 data_type 속성이 영문인 경우에는 한글을 입력할 수 없다. 데이터 타입을 한글로 변경하는 경우에는, setcolumnimemode 함수를 이용해서 바로 한글 입력이 가능하도록 변경할 수 있다. 현재 칼럼에 설정된 데이터 타입은 getcolumndatatype 함수를 통해서 확인할 수 있다.
Parameters | Type | Description |
---|---|---|
nColumn | short | 컬럼 인덱스 (Zero-Base) |
nDataType | short | 데이터 타입 (Remark 참조) |
bRefresh | BOOL | [옵션] 그리드 리프레쉬 여부(true/false), 기본값 true |
Type | Description |
---|---|
BOOL | 정상 설정 여부(true, false) |
* 데이타 타입 상수 0 : 숫자 1 : 영문 2 : 한글
bRefresh 값이 false인 경우, 변경된 내용을 표시하기 위해서는 refresh 함수를 호출해야 한다.
만약 많은 수의 칼럼에 대해서 루핑 돌면서 호출하는 경우라면, 해당 파라미터를 false로 주고, 루핑처리 끝난 이후에 그리드 refresh 함수를 호출하는 것이 속도면에서 훨씬 빠릅니다.
// 그리드의 이름이 grdNormal이고
// 화면의 테스트 버튼(이름: btnTestColumnDataType)을 클릭하면
// 그리드의 두번째 칼럼의 데이터 타입을 한글로 변경합니다.
// 칼럼 데이터 타입 테스트 버튼 클릭 이벤트 처리
function btnTestColumnDataType_on_mouseup(objInst)
{
// 두번째 칼럼(인덱스 1)의 데이터 타입을 한글로 변경하기 위해
// 아래의 아래의 함수 호출
setColumnDataType(grdNormal, 1, 2);
}
/**
* 칼럼의 데이터 형식을 변경합니다.
* @param objGrid 그리드 오브젝트
* @param nColumnIndex 칼럼 인덱스 (Zero-Base)
* @param nDataType 데이터 타입 (0 : 숫자, 1 : 영문, 2 : 한글)
* @return
* true : 정상
* false : 오류
*/
function setColumnDataType(objGrid, nColumnIndex, nDataType)
{
// Validate Column Index
if(nColumnIndex < 0) {
return false;
}
// Validate Column Index
var nColumnCount = objGrid.getcolumncount();
if(nColumnIndex >= nColumnCount) {
return false;
}
// 칼럼의 데이터 타입 변경
var bRet = objGrid.setcolumndatatype(nColumnIndex, nDataType);
return bRet;
}