【操作】固定列の設定を行った場合、OperationMode に SingleSelect や RowMode を設定すると上下矢印キーで行選択が移動しない

文書番号 : 24462     文書種別 : 不具合     最終更新日 : 2007/07/31
文書を印刷する
対象製品
SPREAD for .NET 2.5J Web Forms Edition
発生環境
動作保証環境と同様
状況
修正済み
詳細
固定列の設定を行った場合、操作モード(OperationMode)の設定を単一選択モード(SingleSelect)、または、行モード(RowMode)を設定すると上下矢印キーで行選択が移動しません。

【再現手順】
1.新規WebフォームにSPREADを配置します
2.下記のサンプルコードをコピーします
3.SPREADの任意のセルをクリックします
4.上下矢印キーを押下しても行選択は移動しません

【サンプルコード】
-------------------------
Webフォームクラス
-------------------------

  Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    If Page.IsPostBack Then
      Return
    End If

    FpSpread1.ActiveSheetView.RowCount = 30
    FpSpread1.ActiveSheetView.ColumnCount = 30
    FpSpread1.ActiveSheetView.FrozenColumnCount = 5
    FpSpread1.ActiveSheetView.AllowPage = False
    'FpSpread1.ActiveSheetView.OperationMode = FarPoint.Web.Spread.OperationMode.SingleSelect
    FpSpread1.ActiveSheetView.OperationMode = FarPoint.Web.Spread.OperationMode.RowMode
  End Sub
回避方法
2007/09/05版で修正済み。

2007/09/05版より前のバージョンでは次の回避方法が有効です。

クライアント側スクリプトを使用して明示的にアクティブセルを設定します。

【サンプルコード】
------------------------------------
クライアント側スクリプト
------------------------------------
<script language="javascript">
  function window.onload()
  {
    var spread = document.all("FpSpread1");
    spread.onActiveCellChanging = cellChanging;
  }
  function cellChanging()
  {
    var spread = document.all("FpSpread1");
    if(spread.ActiveRow == -1)
    {      
      event.cancel=true;
      spread.SetActiveCell(event.row,event.col);
    }
  }
</script>
キーワード
SPRN06271

この文書は、以前は次のバグレポートIDで公開されていました : 7070