이 샘플에서는 통합 문서에서 선택 동작을 사용자 정의하는 방법을 보여 줍니다.
SpreadJS에서 셀, 행, 열 또는 여러 범위를 선택할 수 있습니다.
하나의 셀을 클릭하고 마우스를 끌어서 범위를 선택합니다. 그러면 범위 선택 내용이 표시됩니다.
다음 코드와 같이 selectionBorderColor 및 selectionBackColor 옵션을 사용하여 선택 영역 테두리 색과 배경색을 변경할 수 있습니다:
var spread = GC.Spread.Sheets.findControl(document.getElementById('ss'));
var sheet = spread.getActiveSheet();
sheet.options.selectionBorderColor = 'red';
sheet.options.selectionBackColor = 'transparent';
selectionPolicy 및 selectionUnit 옵션을 사용하여 사용자가 선택할 수 있는 항목을 설정할 수 있습니다. SelectionPolicy는 다음 유형을 제공합니다:
SelectionUnit 열거에는 다음 유형이 있습니다.
이러한 두 가지 방법을 사용하여 선택 모드를 제어할 수 있습니다.
Ctrl 키를 누르고 일부 범위를 선택합니다. 여러 범위를 선택하게 됩니다. 또한 addSelection 메서드를 사용하여 더 많은 선택을 추가한 다음 getSelections 메서드를 사용하여 선택한 모든 범위를 가져옵니다. clearSelection 메서드를 사용하여 선택 항목을 지웁니다. 이러한 메서드는 다음 코드에서 사용됩니다.
sheet.addSelection(0, 0, 3, 3);
sheet.addSelection(4, 3, 2, 2);
sheet.clearSelection();
var selections = sheet.getSelections();
// after clearSelection the selections.length is 0.
allowUserDeselect 통합 문서 옵션을 사용하면 마우스로 현재 선택 영역을 선택 취소하는 기능을 활성화할지 여부를 제어할 수 있습니다.
마우스를 사용하여 선택하는 것 이외에 setSelection 메서드를 사용하여 일부 셀을 선택하고, setActiveCell 메서드를 사용하여 하나의 셀을 선택할 수 있습니다. 활성 셀은 선택 영역의 첫 번째 셀입니다. 다음 코드와 같이 getActiveRowIndex 및 getActiveColumnIndex 메서드를 사용하여 활성 셀 행 및 열 인덱스를 가져옵니다.
sheet.setSelection(0, 0, 3, 3);
sheet.setActiveCell(20, 3, 2, 2);
var activeRowIndex = sheet.getActiveRowIndex();
var activeColumnIndex = sheet.getActiveColumnIndex();
활성 셀을 설정한 후 활성 셀이 표시되지 않으면 showCell, showRow 및 showColumn 메서드를 사용하여 활성 셀을 표시할 수 있습니다.
var verticalPosition = GC.Spread.Sheets.VerticalPosition.top;
var horizontalPosition = GC.Spread.Sheets.HorizontalPosition.left;
sheet.showCell(20, 3, verticalPosition, horizontalPosition);
// up code and down code work out the same result.
sheet.showColumn(3, horizontalPosition);
sheet.showRow(20, verticalPosition);