Spreadシート内のセル、行、列、または複数の範囲を選択できます。
シート上の特定領域を選択するには、1つのセルをクリックして、マウスでドラッグします。これで、選択領域が作成されます。
選択領域の境界線の色および背景色を変更するには、次のコードに示すように、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には、以下のタイプがあります。
これらの2つのメソッドにより、選択モードを制御することができます。
複数の領域を選択するには、[Ctrl]キーを押しながら必要な領域を選択します。また、addSelectionメソッドを使用しても、選択領域を追加できます。すべての選択領域を取得するには、getSelectionsメソッドを使用します。選択領域をクリアするには、clearSelectionメソッドを使用します。次のコードは、これらのメソッドの用法を示します。
sheet.addSelection(0, 0, 3, 3);
sheet.addSelection(4, 3, 2, 2);
sheet.clearSelection();
var selections = sheet.getSelections();
// clearSelectionの後、selections.lengthは0です。
ワークブックのallowUserDeselectオプションを使用すると、ユーザーに対し、現在の選択領域をマウスで選択解除できるようにするかどうかを定義できます。
セルをマウスで選択するだけでなく、setSelectionメソッドを使用して複数のセルを選択することも、setActiveCellメソッドを使用して1つのセルを選択することもできます。アクティブセルは、選択領域内の先頭セルです。アクティブセルの行および列インデックスを取得するには、次のコードに示すように、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);
// 以下の2つのコードは、同じ結果になります。
sheet.showColumn(3, horizontalPosition);
sheet.showRow(20, verticalPosition);