
얼마전에 요구사항이 나와서 만들어본 User Defined Object
내부적으로 이벤트 처리를 가로채서 처리하기 때문에 별도의 코딩이 거의 필요없다
소스 (script)
-------------------------------------------------------------------------------
/**
* 단일건 트랜젝션 처리후, 해당 ROW및 컬럼으로 포지션을 이동시켜 주는 객체
* - notice : 본 함수는 일반 자바스크립트 함수가 아니며, User Defined Object이다.
* 따라서 본 객체는 단독적으로 실행이 되지 않는다.
* - p_GridObj : 그리드 오브젝트
* - p_CheckColid : 그리드의 체크박스 컬럼ID
**/
function CheckColumnFocus(p_GridObj, p_CheckColid) {
var checkColid = p_CheckColid;
var gridObj = p_GridObj;
var row = -1;
var dsObj = eval(p_GridObj.DataId);
// 내부적으로 사용되는 메소드.[직접적으로 사용되지 않음]
this.setFocus = function() {
gridObj.ReDraw = false;
var obj = eval(gridObj.DataId);
obj.RowPosition = row;
obj.NameValue(row, checkColid) = "T";
obj.resetstatus();
gridObj.ReDraw = true;
gridObj.SetColumn(checkColid);
}
// 내부적으로 사용되는 메소드.[직접적으로 사용되지 않음]
this.getInfo = function (p_row, p_colid) {
var obj = eval(gridObj.DataId);
if (obj.NameValue(p_row, checkColid) == "T") {
row = p_row;
}
}
gridObj.attachEvent ('OnClick', this.getInfo);
dsObj.attachEvent('OnLoadCompleted', this.setFocus);
}
적용하는건
-------------------------------------------------------------------------------
var ccf = new CheckColumnFocus(tb_Grid, "Use"); // 주의 : 한번만 객체 생성할것!
onload같은 이벤트에서 한번만 처리해 주면 된다.

No comments:
Post a Comment