Programming/nexacro
넥사크로 그리드 포커스 해제, row 선택 해제하기
감성적인 개발자
2023. 4. 26. 15:23
한 화면에 그리드가 몰려있는 경우, 모든 그리드의 BODY 영역의 row가 선택된 상태로 있기 때문에 보기 안좋을 때가 있다. Grid.selectRow() 메서드를 이용해 N개 의 그리드가 있을 때도 하나의 그리드의 row만 선택할 수 있도록 구현해보았다.
* selectRow()메서드는 그리드의 selecttype 속성값이 "row" 또는 "multirow" 인 경우만 동작한다.
초기 포커스 해제하기
조회직후 콜백단에서 그리드 row를 선택하지 않도록 해준다. selectRow에 rowIndex 인자로 전달되는 -1 인덱스는 존재하지 않아 row가 선택되지 않지만 기존에 선택되어있는 row를 선택해제 시켜준다.
this.init_GridFocus = function(objGrid){
if(typeof(objGrid) == "object") {
objGrid.selectRow(-1);
}
};
onkillfocus 이벤트 지정해주기
그리드 포커스가 나갈 때 발생되는 onkillfocus 이벤트에 selectRow를 수행하도록 하면, 기존에 선택되어있던 그리드의 row 선택이 해제된다.
this.gridFocusOut = function(obj:nexacro.Grid,e:nexacro.KillFocusEventInfo){
if(typeof(obj) == "object") {
obj.selectRow(-1);
}
}