【スクリプト】 読み取り専用のセルにフォーカスを移動したくない
対象製品
SPREAD for .NET 2.5J Web Forms Edition
詳細
セルにフォーカスが移動する直前にクライアント側で発生する onActiveCellChanging イベントを使用しフォーカスの移動をキャンセルすることができます。
下記はセルの読み取り専用属性を調べ、読み取り専用の場合はセルへのフォーカス移動をキャンセルします。
セルがロックされている場合、またはラベル型に設定されている場合に処理が実行されます。
【VB サンプルコード】
【C# サンプルコード】
下記はセルの読み取り専用属性を調べ、読み取り専用の場合はセルへのフォーカス移動をキャンセルします。
セルがロックされている場合、またはラベル型に設定されている場合に処理が実行されます。
【VB サンプルコード】
---------------------------------------------
Webフォームクラス
---------------------------------------------
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If IsPostBack Then
Return
End If
'クライアント側スクリプトを関連付ける
FpSpread1.Attributes.Add("onActiveCellChanging", "checkCell();")
'2列目をラベル型セルに設定
FpSpread1.ActiveSheetView.Columns(1).CellType = New FarPoint.Web.Spread.LabelCellType
End Sub
---------------------------------------------
クライアント側スクリプト
---------------------------------------------
<script language=javascript>
function checkCell(){
var s=document.all("FpSpread1");
var cell=s.GetCellByRowCol(event.row,event.col);
if(cell.FpCellType=="readonly")
event.cancel=true;
}
</script>
Webフォームクラス
---------------------------------------------
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If IsPostBack Then
Return
End If
'クライアント側スクリプトを関連付ける
FpSpread1.Attributes.Add("onActiveCellChanging", "checkCell();")
'2列目をラベル型セルに設定
FpSpread1.ActiveSheetView.Columns(1).CellType = New FarPoint.Web.Spread.LabelCellType
End Sub
---------------------------------------------
クライアント側スクリプト
---------------------------------------------
<script language=javascript>
function checkCell(){
var s=document.all("FpSpread1");
var cell=s.GetCellByRowCol(event.row,event.col);
if(cell.FpCellType=="readonly")
event.cancel=true;
}
</script>
【C# サンプルコード】
---------------------------------------------
Webフォームクラス
---------------------------------------------
private void Page_Load(object sender, System.EventArgs e)
{
if(IsPostBack)return;
//クライアント側スクリプトの関連付け
FpSpread1.Attributes.Add("onActiveCellChanging","checkCell();");
//2列目をラベル型に設定
FpSpread1.ActiveSheetView.Columns[1].CellType=new LabelCellType();
}
---------------------------------------------
クライアント側スクリプト
---------------------------------------------
VB 版サンプルコードのものと同様
Webフォームクラス
---------------------------------------------
private void Page_Load(object sender, System.EventArgs e)
{
if(IsPostBack)return;
//クライアント側スクリプトの関連付け
FpSpread1.Attributes.Add("onActiveCellChanging","checkCell();");
//2列目をラベル型に設定
FpSpread1.ActiveSheetView.Columns[1].CellType=new LabelCellType();
}
---------------------------------------------
クライアント側スクリプト
---------------------------------------------
VB 版サンプルコードのものと同様
関連情報
キーワード
クライアント側スクリプト
この文書は、以前は次のFAQ IDで公開されていました : 9164