【クライアント】矢印ボタン(『<<』、『>>』)でページ遷移した場合、TopRowChanged イベント内で設定したアクティブセルの設定が有効とならない
対象製品
SPREAD for .NET 2.5J Web Forms Edition
発生環境
動作保証環境と同様
状況
修正済み
詳細
TopRowChanged イベント内でアクティブセルを設定した場合、ページ番号で移動した場合にはアクティブセルの設定が有効になりますが、矢印ボタン(<<、>>)でページ移動した場合にはアクティブセルの設定が有効となりません。
[再現手順]
1.新規WebフォームにSPREADだけを配置します。
2.下記のサンプルコードをコピーします。
3.アプリケーションを実行します。
4.SPREADのページナビゲーションのページ番号を押下します。
5.3列目がアクティブセルに設定されます。
6.SPREADのページナビゲーションの矢印ボタンを押下します。
7.1列目がアクティブセルに設定されます。
[サンプルコード]
-------------------------
Webフォームクラス
-------------------------
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Page.IsPostBack Then
Return
End If
FpSpread1.ActiveSheetView.RowCount = 60
FpSpread1.Pager.Mode = FarPoint.Web.Spread.PagerMode.Both
FpSpread1.Pager.Position = FarPoint.Web.Spread.PagerPosition.Top
End Sub
Private Sub FpSpread1_TopRowChanged(ByVal sender As Object, ByVal e As FarPoint.Web.Spread.SpreadCommandEventArgs) Handles FpSpread1.TopRowChanged
FpSpread1.ActiveSheetView.ActiveColumn = 2
End Sub
[再現手順]
1.新規WebフォームにSPREADだけを配置します。
2.下記のサンプルコードをコピーします。
3.アプリケーションを実行します。
4.SPREADのページナビゲーションのページ番号を押下します。
5.3列目がアクティブセルに設定されます。
6.SPREADのページナビゲーションの矢印ボタンを押下します。
7.1列目がアクティブセルに設定されます。
[サンプルコード]
-------------------------
Webフォームクラス
-------------------------
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Page.IsPostBack Then
Return
End If
FpSpread1.ActiveSheetView.RowCount = 60
FpSpread1.Pager.Mode = FarPoint.Web.Spread.PagerMode.Both
FpSpread1.Pager.Position = FarPoint.Web.Spread.PagerPosition.Top
End Sub
Private Sub FpSpread1_TopRowChanged(ByVal sender As Object, ByVal e As FarPoint.Web.Spread.SpreadCommandEventArgs) Handles FpSpread1.TopRowChanged
FpSpread1.ActiveSheetView.ActiveColumn = 2
End Sub
回避方法
2007/09/05版で修正済み。
※2007/09/05版より前のバージョンでは次の回避方法が有効です。
PreRender イベント内でアクティブセルを設定します。
Dim toprowFLG As Boolean
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Page.IsPostBack Then
Return
End If
FpSpread1.ActiveSheetView.RowCount = 60
FpSpread1.Pager.Mode = FarPoint.Web.Spread.PagerMode.Both
FpSpread1.Pager.Position = FarPoint.Web.Spread.PagerPosition.Top
toprowFLG = False
End Sub
Private Sub FpSpread1_TopRowChanged(ByVal sender As Object, ByVal e As FarPoint.Web.Spread.SpreadCommandEventArgs) Handles FpSpread1.TopRowChanged
toprowFLG = True
End Sub
Private Sub Page_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.PreRender
If toprowFLG Then
FpSpread1.ActiveSheetView.ActiveColumn = 2
toprowFLG = False
End If
End Sub
※2007/09/05版より前のバージョンでは次の回避方法が有効です。
PreRender イベント内でアクティブセルを設定します。
Dim toprowFLG As Boolean
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Page.IsPostBack Then
Return
End If
FpSpread1.ActiveSheetView.RowCount = 60
FpSpread1.Pager.Mode = FarPoint.Web.Spread.PagerMode.Both
FpSpread1.Pager.Position = FarPoint.Web.Spread.PagerPosition.Top
toprowFLG = False
End Sub
Private Sub FpSpread1_TopRowChanged(ByVal sender As Object, ByVal e As FarPoint.Web.Spread.SpreadCommandEventArgs) Handles FpSpread1.TopRowChanged
toprowFLG = True
End Sub
Private Sub Page_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.PreRender
If toprowFLG Then
FpSpread1.ActiveSheetView.ActiveColumn = 2
toprowFLG = False
End If
End Sub
キーワード
SPRN05803
この文書は、以前は次のバグレポートIDで公開されていました : 6504