[nexacro]

넥사크로 그리드 

Cell, 컬럼 내용 복사하기

안녕하세요.

넥사크로 그리드에서 cell  의 내용을 복사하는 방법을 알아보겠습니다.

넥사크로 그리드의 cell 의 edittype 이 none 일 경우 복사가 안되고,

업무와 시스템 성격상 cell 의 내용을 복사해야 할 때가 종종 있습니다.


이럴 때 어떻게 해야 할까요?

방법을 알려드리겠습니다.

아래와 같은 그리드가 있습니다.

아래 그리드의 각 cell 의 edittype 속성은 모두 none 입니다.

먼저 공통함수를 구현합니다.

fn_CopyCellText = function(obj) { //이벤트 발생 오브젝트가 그리드가 아니면 중단 if (obj instanceof nexacro.Grid){ var objDs = obj.getBindDataset(); var intRow = objDs.rowposition; // 바인드된 데이터셋의 현재 레코드 번호 var intCol = obj.getCellPos(); // 그리드의 cell 위치 var navigatorname = new String(system.navigatorname); if(navigatorname.indexOf("IE") != -1 && nexacro._BrowserVersion == "8"|| navigatorname.indexOf("nexacro") >= 0 ){ // IE+Runtime system.clearClipboard(); system.setClipboard("CF_UNICODETEXT", obj.getCellText(intRow, intCol)); }else if(navigatorname.indexOf("IE") != -1){ //IE system.clearClipboard(); system.setClipboard("CF_TEXT", obj.getCellText(intRow, intCol)); }else if(navigatorname.indexOf("Chrome") >= 0 || navigatorname.indexOf("Gecko") >= 0 ){ // Chrome+FireFox this.gfn_setClipboard(obj.getCellText(intRow, intCol)); }else{ trace("unknown environment."); } } }

각 브라우저별로 클립보드에 복사 할 수 있도록 함수를 구현해줍니다.

이제 그리드의 이벤트에 적용을 시켜줍니다.

아래 그림과 같이 표시는 row 에 포커스가 있습니다.

우리는 그 중에 특정 셀을 클릭하여 그 셀의 값을 복사할거에요.

예를 들어 5번째 row의 USE_YN cell 을 클릭합니다.

그럼 N 이라는 값이 복사되야 겠죠?

아래와 같이 이벤트에 구현해줍니다.

this.Grid_onkeydown = function(obj:nexacro.Grid,e:nexacro.KeyEventInfo) { if(e.ctrlkey && e.keycode == 67){ this.fn_CopyCellText(obj); } };

이렇게 그리드의 onkeydown 이벤트에 ctrl + c 가 입력되었을 때 

cell 의 값을 복사하는 함수를 넣어줍니다.


그리드의 모든 cell 의 edittype 수정 가능하게 변경할 수는 없지요.

이렇게 하면 그리드의 cell 의 값을 복사할 수 있습니다.


이상 넥사크로 그리드의 셀 값을 복사하는 방법이었습니다.


공감과 댓글 그리고 구독은 큰 힘이 됩니다.


  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기