그리드 특정 아이템의 데이터 입력 방식(그리드 칼럼 데이터부의 input_type 속성)을 설정하는 API이다. 그리드 아이템의 입력 방식은 기본적으로 그리드 칼럼 데이터부의 input_type 속성에 의해서 결정된다. 조건에 따라서 특정 아이템의 입력 방식을 칼럼의 기본 입력 방식과 다른 형식으로 변경할 때 사용한다.
Parameters | Type | Description |
---|---|---|
nRow | long | 로우 인덱스 |
nCol | long | 컬럼 인덱스 |
nInputType | short | nInputType 상수 (*Remark 참조) |
bRefresh | BOOL | [옵션] 그리드 리프레쉬 여부(기본값 true) |
Type | Description |
---|---|
BOOL | 정상 적용 여부(true, false) |
* nInputType 상수 XFD_GRID_INPUTEDITBOX = 0 XFD_GRID_INPUTCHECKBOX = 1 XFD_GRID_INPUTCOMBOBOX = 2 XFD_GRID_INPUTCALENDAR = 3 XFD_GRID_INPUTRADIOBUTTON = 4 XFD_GRID_INPUTBARGAUGE = 5 XFD_GRID_INPUTSPIN = 6 XFD_GRID_INPUTHTML = 7 XFD_GRID_INPUTCHART = 8 XFD_GRID_INPUTBUTTON = 9 XFD_GRID_INPUTIMAGE = 10
bRefresh 값이 false인 경우, 변경된 내용을 표시하기 위해서는 refresh 함수를 호출해야 한다.
만약 많은 수의 아이템에 대해서 루핑 돌면서 호출하는 경우라면, 해당 파라미터를 false로 주고, 루핑처리 끝난 이후에 그리드 refresh 함수를 호출하는 것이 속도면에서 훨씬 빠릅니다.
expr_func 속성에 지정된 함수에서 호출하는 경우에는, 반드시 bRefresh 파라미터 값을 false로 지정하여 호출되야 한다.
// 그리드 이름이 grdNormal이고, 테스트 버튼 클릭시,
// 0번째 로우의 1번째 칼럼의 입력 방식을 달력 형식으로 변경하는 함수를 호출한다.
function btnTest_on_mouseup(objInst)
{
setGridItemInputTypeToCalendar(grdNormal, 0, 1, "9999/99/99");
}
/**
* 그리드 아이템의 입력 방식을 달력형식으로 변경한다.
* @param objGrid 그리드 오브젝트
* @param nRow 그리드 아이템 로우 인덱스 (Zero-Base)
* @param nColumn 그리드 아이템 칼럼 인덱스 (Zero-Base)
* @param strPattern 8자리의 날짜 패턴 (예: 9999-99-99, 9999/99/99)
* @return
* 0 : Success
* 1 : Invalid Parameter
* 2 : Fail To Set Grid Item Input Type
*/
function setGridItemInputTypeToCalendar(objGrid, nRow, nColumn, strPattern)
{
// 파라미터 Validate
if(factory.isobject(objGrid) == false) {
return 1;
}
var nRowCount = objGrid.getrowcount();
var nColumnCount = objGrid.getcolumncount();
// 파라미터 Validate
if(nRow >= nRowCount || nColumn >= nColumnCount) {
return 1;
}
// 기존 입력 방식을 구하고, 동일한 경우 리턴
var nPrevInputType = objGrid.getiteminputtype(nRow, nColumn);
if(nPrevInputType == 3) {
return 0;
}
// 그리드 아이템의 Input Type 설정
var bResult = objGrid.setiteminputtype(nRow, nColumn, 3);
if(bResult == false) {
screen.alert("setiteminputtype Fail");
return 2;
}
// 날짜 패턴을 설정
grdNormal.setitempattern(nRow, nColumn, strPattern, 0);
// 최대 입력 길이 설정
grdNormal.setitemmaxlength(nRow, nColumn, 8);
return 0;
}