【フィルタリング】状態管理にセッションを使用した場合、フィルタリングを行った後に行を追加すると例外が発生する

文書番号 : 23588     文書種別 : 不具合     最終更新日 : 2007/03/06
文書を印刷する
対象製品
SPREAD for .NET 2.5J Web Forms Edition
発生環境
動作保証環境と同様
状況
修正済み
詳細
状態管理にセッションを使用した場合、フィルタリングを行った後に行を追加すると例外が発生します。
 
[再現手順]
1.新規WebフォームにSPREADとButtonを配置します
2.下記サンプルコードをコピーします
3.アプリケーションを実行します
4.2列目の列ヘッダで「2」を選択してフィルタリングを行います
5.Buttonを押下すると例外(System.IndexOutOfRangeException)が発生します

[サンプルコード]
-------------------------
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.Cells(2, 1).Value = 2

    Dim fcd As New FarPoint.Web.Spread.FilterColumnDefinition(1, FarPoint.Web.Spread.FilterListBehavior.SortByMostOccurrences Or FarPoint.Web.Spread.FilterListBehavior.Default)
    Dim hf As New FarPoint.Web.Spread.HideRowFilter(FpSpread1.Sheets(0))

    hf.AddColumn(fcd)

    FpSpread1.Sheets(0).RowFilter = hf
  End Sub

  Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
    FpSpread1.ActiveSheetView.AddRows(0, 1)
  End Sub

  Protected Sub FpSpread1_SaveOrLoadSheetState(ByVal sender As Object, ByVal e As FarPoint.Web.Spread.SheetViewStateEventArgs) Handles FpSpread1.SaveOrLoadSheetState
    If e.IsSave Then
      Session("SPREAD_VIEW_STATE") = e.SheetView.SaveViewState
    Else
      e.SheetView.LoadViewState(Session("SPREAD_VIEW_STATE"))
    End If

    e.Handled = True
  End Sub
回避方法
2007/09/05版で修正済み。
キーワード
SPRN06098

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