列定義として"Blank or NonBlank"を設定したフィルタの実行時、フィルタのリスト項目が適切でなくなる
対象製品
SPREAD for ASP.NET 8.0J
状況
修正済み
詳細
フィルタ列定義として"Blank or NonBlank"を設定したフィルタの実行時、ある一列のフィルタリングを行うと、その他の列にあるのフィルタのドロップダウンリストに”空白”や”空白以外”の項目が表示されなくなります。
【再現手順】
1.新規WebフォームにSPREADひとつを配置する
2.Webフォームに下記の再現コードを貼り付け、Web フォームを起動する
3.第一列で"空白"もしくは"空白以外"のフィルタを実行する
--- 第一列以外のフィルタ項目がすべてのみとなる
--- 期待される動作:"空白"もしくは"空白以外"の項目も表示される
【再現コード】
------------------------------------
Webフォームクラス
------------------------------------
Public Class WebForm1
Inherits System.Web.UI.Page
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.ColumnCount = 4
FpSpread1.ActiveSheetView.RowCount = 5
For i As Integer = 0 To FpSpread1.ActiveSheetView.ColumnCount - 1
FpSpread1.ActiveSheetView.SetValue(i, i, String.Format("{0}{1}", ChrW(i Mod 26 + 65), i))
Next
' フィルタの設定
Dim hideRowFilter As New FarPoint.Web.Spread.HideRowFilter(FpSpread1.Sheets(0))
hideRowFilter.AllString = "すべて"
hideRowFilter.BlanksString = "空白"
hideRowFilter.NonBlanksString = "空白以外"
hideRowFilter.FilterFrozenRows = False
FpSpread1.Sheets(0).RowFilter = hideRowFilter
Dim fcd As FarPoint.Web.Spread.FilterColumnDefinition
For i As Integer = 0 To FpSpread1.ActiveSheetView.ColumnCount - 1
fcd = New FarPoint.Web.Spread.FilterColumnDefinition(i, FarPoint.Web.Spread.FilterListBehavior.Blank Or FarPoint.Web.Spread.FilterListBehavior.NonBlank)
hideRowFilter.AddColumn(fcd)
Next
End Sub
End Class
【再現手順】
1.新規WebフォームにSPREADひとつを配置する
2.Webフォームに下記の再現コードを貼り付け、Web フォームを起動する
3.第一列で"空白"もしくは"空白以外"のフィルタを実行する
--- 第一列以外のフィルタ項目がすべてのみとなる
--- 期待される動作:"空白"もしくは"空白以外"の項目も表示される
【再現コード】
------------------------------------
Webフォームクラス
------------------------------------
Public Class WebForm1
Inherits System.Web.UI.Page
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.ColumnCount = 4
FpSpread1.ActiveSheetView.RowCount = 5
For i As Integer = 0 To FpSpread1.ActiveSheetView.ColumnCount - 1
FpSpread1.ActiveSheetView.SetValue(i, i, String.Format("{0}{1}", ChrW(i Mod 26 + 65), i))
Next
' フィルタの設定
Dim hideRowFilter As New FarPoint.Web.Spread.HideRowFilter(FpSpread1.Sheets(0))
hideRowFilter.AllString = "すべて"
hideRowFilter.BlanksString = "空白"
hideRowFilter.NonBlanksString = "空白以外"
hideRowFilter.FilterFrozenRows = False
FpSpread1.Sheets(0).RowFilter = hideRowFilter
Dim fcd As FarPoint.Web.Spread.FilterColumnDefinition
For i As Integer = 0 To FpSpread1.ActiveSheetView.ColumnCount - 1
fcd = New FarPoint.Web.Spread.FilterColumnDefinition(i, FarPoint.Web.Spread.FilterListBehavior.Blank Or FarPoint.Web.Spread.FilterListBehavior.NonBlank)
hideRowFilter.AddColumn(fcd)
Next
End Sub
End Class
回避方法
Service Pack 2(v8.0.4002.2010)で修正済み。