フィルタ処理で該当件数が0になると、フィルタの条件変更/解除ができない場合がある

文書番号 : 39843     文書種別 : 制限事項     登録日 : 2017/01/17     最終更新日 : 2017/08/15
文書を印刷する
対象製品
SPREAD for ASP.NET 8.0J
詳細
フィルタ処理で該当件数が0になると、フィルタの条件変更/解除ができない場合があります。

【再現手順】
1.プロジェクトを起動します
2.J列を表示しフィルタエディタに"abc"と入力しEnterキーを押下します
 -- スクロールバーが非表示になります
3.フォーカスを他のコントロールに設定します
 -- A列が表示されJ列が見えなくなり、フィルタ条件が変更/解除できません

【再現コード】
  Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    If Page.IsPostBack Then Return

    ' 列数の設定
    FpSpread1.ActiveSheetView.ColumnCount = 10
    ' 常にスクロールバーを表示
    FpSpread1.HorizontalScrollBarPolicy = FarPoint.Web.Spread.ScrollBarPolicy.Always
    ' フィルタバーの設定
    FpSpread1.ActiveSheetView.AutoFilterMode = FarPoint.Web.Spread.AutoFilterMode.FilterBar
  End Sub
回避方法
UIの仮想化機能を用いる方法が考えられます。

[UIVirtualization プロパティ]
http://docs.grapecity.com/help/spread-aspnet-8/#FarPoint.Web.SpreadJ~FarPoint.Web.Spread.FpSpread~UIVirtualization.html

なお、本機能を用いる場合にはスクロールバーの操作に対して、実際のスクロール動作が少し遅れて行われます。この動作は製品の仕様に基づくものとなります。また、本機能は以下の機能との併用は行えません。

1.仮想ページング(AllowVirtualScrollPaging)
2.行テンプレートレイアウトモード(RowTemplateLayoutMode)
3.AJAX Control Toolkitを使用したセル型

◆サンプルコード
  Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    If Page.IsPostBack Then Return

    ' 列数の設定
    FpSpread1.ActiveSheetView.ColumnCount = 10
    ' 常にスクロールバーを表示
    FpSpread1.HorizontalScrollBarPolicy = FarPoint.Web.Spread.ScrollBarPolicy.Always
    ' フィルタバーの設定
    FpSpread1.ActiveSheetView.AutoFilterMode = FarPoint.Web.Spread.AutoFilterMode.FilterBar

    '【回避策】
    FpSpread1.UIVirtualization = True
  End Sub