サーバー側で選択範囲の取得および設定を行うには、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>