フィルタ処理で該当件数が0になると、フィルタの条件変更/解除ができない場合がある
対象製品
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
【再現手順】
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
[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