グループフッタを設定し1つのグループに255以上の行が含まれると、グループ化操作が有効にならない場合がある
対象製品
SPREAD for ASP.NET 8.0J
詳細
グループフッタを設定し1つのグループに255以上の行が含まれると、グループ化操作が有効にならない場合があります。これはSUBTOTAL関数を利用したグループフッタ集計機能の制限(当該関数の引数の最大の数は255個まで)事項です。
SUBTOTAL
http://docs.grapecity.com/help/spread-aspnet-formula-8/#FunctionSUBTOTAL.html
なお、グループ化列で同一データが連続する場合、これらはセル範囲として関数に渡すためより多くの行のグループ化が可能です。
【再現手順】
1.新規Webフォームに下記の再現コードを貼り付け、プロジェクトを起動します
2.列BをSPREAD上部にドロップし、グループ化を試みます
--- グループ化が行われません
【再現コード】
------------------------------------
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
' テスト用データの設定
FpSpread1.ActiveSheetView.RowCount = 600
For i As Integer = 0 To FpSpread1.ActiveSheetView.RowCount - 1
FpSpread1.ActiveSheetView.SetValue(i, 0, i)
FpSpread1.ActiveSheetView.SetValue(i, 1, i Mod 2)
FpSpread1.ActiveSheetView.SetValue(i, 2, i Mod 3)
FpSpread1.ActiveSheetView.SetValue(i, 3, i Mod 4)
Next
' ページングの禁止
FpSpread1.ActiveSheetView.AllowPage = False
' グループ化
FpSpread1.ActiveSheetView.AllowGroup = True
FpSpread1.ActiveSheetView.GroupBarVisible = True
' グループフッタの設定
FpSpread1.ActiveSheetView.GroupFooterVisible = True
FpSpread1.ActiveSheetView.Columns(0).AggregationType = FarPoint.Web.Spread.Model.AggregationType.Count
End Sub
End Class
SUBTOTAL
http://docs.grapecity.com/help/spread-aspnet-formula-8/#FunctionSUBTOTAL.html
なお、グループ化列で同一データが連続する場合、これらはセル範囲として関数に渡すためより多くの行のグループ化が可能です。
【再現手順】
1.新規Webフォームに下記の再現コードを貼り付け、プロジェクトを起動します
2.列BをSPREAD上部にドロップし、グループ化を試みます
--- グループ化が行われません
【再現コード】
------------------------------------
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
' テスト用データの設定
FpSpread1.ActiveSheetView.RowCount = 600
For i As Integer = 0 To FpSpread1.ActiveSheetView.RowCount - 1
FpSpread1.ActiveSheetView.SetValue(i, 0, i)
FpSpread1.ActiveSheetView.SetValue(i, 1, i Mod 2)
FpSpread1.ActiveSheetView.SetValue(i, 2, i Mod 3)
FpSpread1.ActiveSheetView.SetValue(i, 3, i Mod 4)
Next
' ページングの禁止
FpSpread1.ActiveSheetView.AllowPage = False
' グループ化
FpSpread1.ActiveSheetView.AllowGroup = True
FpSpread1.ActiveSheetView.GroupBarVisible = True
' グループフッタの設定
FpSpread1.ActiveSheetView.GroupFooterVisible = True
FpSpread1.ActiveSheetView.Columns(0).AggregationType = FarPoint.Web.Spread.Model.AggregationType.Count
End Sub
End Class
回避方法
グループ化後の1つのグループの行数が254以下になるようデータを調整する、もしくはグループフッタにおける数式の利用を中止する方法が考えられます。