【スクリプト】 読み取り専用のセルにフォーカスを移動したくない

文書番号 : 21840     文書種別 : 使用方法     最終更新日 : 2006/06/23
文書を印刷する
対象製品
SPREAD for .NET 2.5J Web Forms Edition
詳細
セルにフォーカスが移動する直前にクライアント側で発生する onActiveCellChanging イベントを使用しフォーカスの移動をキャンセルすることができます。

下記はセルの読み取り専用属性を調べ、読み取り専用の場合はセルへのフォーカス移動をキャンセルします。
セルがロックされている場合、またはラベル型に設定されている場合に処理が実行されます。

【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>


【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 版サンプルコードのものと同様

関連情報
キーワード
クライアント側スクリプト

この文書は、以前は次のFAQ IDで公開されていました : 9164