クリックしたセルの位置を取得する方法
対象製品
SPREAD for .NET 2.5J Web Forms Edition
詳細
クリックされたセルの位置を取得するには次の2つの方法があります。
■クライアント側スクリプトを使用する方法
コントロールのEnableClientScriptプロパティがTrueに設定されている(デフォルト)状態ではクライアント側でonActiveCellChangedイベントが発生します。
この場合、下記のクライアント側スクリプトでクリックされたセルの位置を取得できます。
【JavaScript サンプルコード】
■クライアント側スクリプトを使用しない方法
コントロールのAutoPostBackプロパティをTrueに設定する(デフォルトではFalse)とユーザーが操作する度にサーバー側へのポストバックが発生します。この状態ではクライアント側スクリプトは無効化され、セルがクリックされる度にサーバー側でCellClickイベントが発生します。
下記、CellClickイベントでクリックされたセルの位置を取得するサンプルコードです。
また、コントロールで発生するイベントと、発生する条件については下記の製品ヘルプに関連情報を掲載しています。
「開発者の手引き」>「コントロールでのデータの管理」>「サーバー側スクリプト機能」>「操作モードによってイベントが受ける影響」
【VB サンプルコード】
【C# サンプルコード】
■クライアント側スクリプトを使用する方法
コントロールのEnableClientScriptプロパティがTrueに設定されている(デフォルト)状態ではクライアント側でonActiveCellChangedイベントが発生します。
この場合、下記のクライアント側スクリプトでクリックされたセルの位置を取得できます。
【JavaScript サンプルコード】
<script language=javascript>
function window.onload(){
var s=document.all("FpSpread1");
s.onActiveCellChanged=cellchanged;
}
function cellchanged(){
var s=event.srcElement;
alert("cell clicked= ("+event.Row+","+event.Col+")");
}
</script>
function window.onload(){
var s=document.all("FpSpread1");
s.onActiveCellChanged=cellchanged;
}
function cellchanged(){
var s=event.srcElement;
alert("cell clicked= ("+event.Row+","+event.Col+")");
}
</script>
■クライアント側スクリプトを使用しない方法
コントロールのAutoPostBackプロパティをTrueに設定する(デフォルトではFalse)とユーザーが操作する度にサーバー側へのポストバックが発生します。この状態ではクライアント側スクリプトは無効化され、セルがクリックされる度にサーバー側でCellClickイベントが発生します。
下記、CellClickイベントでクリックされたセルの位置を取得するサンプルコードです。
また、コントロールで発生するイベントと、発生する条件については下記の製品ヘルプに関連情報を掲載しています。
「開発者の手引き」>「コントロールでのデータの管理」>「サーバー側スクリプト機能」>「操作モードによってイベントが受ける影響」
【VB サンプルコード】
Private Sub FpSpread1_CellClick(ByVal sender As Object, ByVal e As FarPoint.Web.Spread.SpreadCommandEventArgs) Handles FpSpread1.CellClick
Dim p As System.Drawing.Point = CType(e.CommandArgument, System.Drawing.Point)
Label1.Text = "Clickしたセルは、Row=" + p.X.ToString + ",Col=" + p.Y.ToString + " です。"
End Sub
Dim p As System.Drawing.Point = CType(e.CommandArgument, System.Drawing.Point)
Label1.Text = "Clickしたセルは、Row=" + p.X.ToString + ",Col=" + p.Y.ToString + " です。"
End Sub
【C# サンプルコード】
private void FpSpread1_CellClick(object sender, FarPoint.Web.Spread.SpreadCommandEventArgs e)
{
System.Drawing.Point p=(System.Drawing.Point) e.CommandArgument;
Label1.Text="Clickしたセルは、Row=" + p.X.ToString() + ",Col=" + p.Y.ToString() + " です。";
}
{
System.Drawing.Point p=(System.Drawing.Point) e.CommandArgument;
Label1.Text="Clickしたセルは、Row=" + p.X.ToString() + ",Col=" + p.Y.ToString() + " です。";
}
関連情報
キーワード
HowTo クライアント側スクリプト 一般
この文書は、以前は次のFAQ IDで公開されていました : 9123