PowerTools SPREAD for ASP.NET 8.0J > 開発者の手引き > 編集、検証、選択 > 選択 > 選択領域の取得と設定 |
選択された領域を取得するには、Selection モデルを使用します。また、ユーザー操作ではなくコードによる選択も可能です。
サーバー側で選択範囲の取得および設定を行うには、SheetView クラスのSelectionModel プロパティからSelection モデルを使用します。
選択範囲の取得は、SelectionModel プロパティが参照するISheetSelectionModel インタフェースを使用してCellRange オブジェクトを取得します。
コードから選択範囲を設定するには、ISheetSelectionModel インタフェースのAddSelection メソッドまたはSetSelection メソッドを使用します。
また、すべてのセルを選択するには、これらのメソッドで指定するパラメータをすべて-1に設定します。
特定の領域の選択を解除するには、ISheetSelectionModel インタフェースのRemoveSelection メソッドを、すべての選択を解除するにはClearSelection メソッドを使用します。
次のサンプルコードは、選択範囲の取得と設定例です。
protected void Button1_Click(object sender, EventArgs e) { // 選択範囲を取得します。 FarPoint.Web.Spread.Model.CellRange range = FpSpread1.ActiveSheetView.SelectionModel[0]; System.Diagnostics.Debug.WriteLine(range.Row + "行目から" + range.RowCount + "行、" + range.Column + "列目から" + range.ColumnCount + "列が選択されています。"); } protected void Button2_Click(object sender, EventArgs e) { // 選択範囲を設定します。 FpSpread1.ActiveSheetView.SelectionModel.AddSelection(2, 3, 5, 5); } protected void Button3_Click(object sender, EventArgs e) { // すべてのセルを選択します。 FpSpread1.ActiveSheetView.SelectionModel.SetSelection(-1, -1, -1, -1); } protected void Button4_Click(object sender, EventArgs e) { // 指定のセルの選択を解除します。 FpSpread1.ActiveSheetView.SelectionModel.RemoveSelection(0, 0, 2, 2); }
Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click ' 選択範囲を取得します。 Dim range As FarPoint.Web.Spread.Model.CellRange = FpSpread1.ActiveSheetView.SelectionModel(0) System.Diagnostics.Debug.WriteLine(range.Row & "行目から" & range.RowCount & "行、" & range.Column & "列目から" & range.ColumnCount & "列が選択されています。") End Sub Protected Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click ' 選択範囲を設定します。 FpSpread1.ActiveSheetView.SelectionModel.AddSelection(2, 3, 5, 5); End Sub Protected Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click ' すべてのセルを選択します。 FpSpread1.ActiveSheetView.SelectionModel.SetSelection(-1, -1, -1, -1); End Sub Protected Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click ' 指定のセルの選択を解除します。 FpSpread1.ActiveSheetView.SelectionModel.RemoveSelection(0, 0, 2, 2) End Sub
クライアント側スクリプトを使用して、選択範囲の取得や設定を行うことも可能です。なお、セルが選択されると、クライアント側でSelectionChanged イベントが発生します。
また、TapToAddSelection プロパティ を使用して、タップにより選択の追加を許可するかどうかを設定することができます。
選択範囲を取得するには、以下のメソッドを使用します。
選択範囲を設定するには、以下のメソッドを使用します。すべてのセルを選択するには、これらのメソッドのパラメータをすべて-1に設定します。
選択範囲を解除するには、ClearSelection メソッドを使用します。
次のサンプルコードは、クライアント側での選択範囲の取得と設定例です。
<script type="text/javascript"> window.onload = function () { var spread = document.all("FpSpread1"); spread.TabToAddSelection = true; if (spread.addEventListener) { spread.addEventListener("SelectionChanged", selectionChanged, false); } else { spread.onSelectionChanged = selectionChanged; } } function selectionChanged(event) { var spread = FpSpread("FpSpread1"); // 選択領域の取得 var rg = spread.GetSelectedRange(); alert("選択タイプ:" + rg.type + ",選択先頭行:" + rg.row + ",選択先頭列:" + rg.col + ",選択行数:" + rg.rowCount + ",選択列数:" + rg.colCount); } function btn_Click() { // 選択領域の設定 var spread = FpSpread("FpSpread1"); spread.SetSelectedRange(0, 0, 3, 3); } </script>