Dim band As UltraGridBand = Me.ultraGrid1.DisplayLayout.Bands(0)
' 外部タイプの集計を追加します。
Dim summary As SummarySettings = band.Summaries.Add(SummaryType.External, band.Columns("ID"))
このトピックでは、UserGrid™ コントロールで外部集計計算を実行する際によく行われるタスクについて、コード例を交えながら説明します。
以下の表に、このトピックを理解するための前提条件として求められるトピックをリストします。
このトピックには次のセクションがあります。
概要
プロパティ設定
コード
概要
プロパティ設定
説明
プレビュー
コード
概要
プロパティ設定
説明
プレビュー
コード
関連コンテンツ
以下の表は、WinGrid コントロールの設定項目を示しています。詳細については、概要表の下をご覧ください。
外部集計計算を有効にするには、特定のバンドの集計コレクションで、集計タイプを External に設定する必要があります。外部集計計算機能を使用すると、UltraGrid コントロールの集計計算ロジックが行コレクションの走査を繰り返して集計値を計算するのをバイパスし、すべてのデータを読み込む必要がなくなります。これにより、UltraGrid コントロールに集計を追加し、必要に応じてデータを読み込むことができます。
以下の表では、必要な構成をプロパティ設定にマップしています。
以下のサンプル コードは、集計コレクションの追加メソッドを用いて集計タイプを External に設定します。
Visual Basic の場合:
Dim band As UltraGridBand = Me.ultraGrid1.DisplayLayout.Bands(0)
' 外部タイプの集計を追加します。
Dim summary As SummarySettings = band.Summaries.Add(SummaryType.External, band.Columns("ID"))
C# の場合:
UltraGridBand band = this.ultraGrid1.DisplayLayout.Bands[0];
// 外部タイプの集計を追加します。
SummarySettings summary = band.Summaries.Add( SummaryType.External, band.Columns["ID"] );
集計タイプを External に設定すると、 ExternalSummaryValueRequested イベントが発生します。このイベントが公開する SetExternalSummaryValue メソッドを使用して、集計値を直接または外部から設定します。呼び出します。
以下の表では、必要な構成をプロパティ設定にマップしています。
次のコード例では、UltraGrid コントロールが以下の設定の結果として外部集計値を表示しています。
以下は、外部集計値のプレビュー表示で、サンプル コード例を実装した結果です。
以下のサンプル コードでは、Summary を外部で設定、または ExternalSummaryCalculated イベント内部で直接設定しています。
Visual Basic の場合:
Private Sub ultraGrid1_ExternalSummaryValueRequested(sender As Object, e As ExternalSummaryValueEventArgs)
e.SummaryValue.SetExternalSummaryValue("90")
End Sub
C# の場合:
private void ultraGrid1_ExternalSummaryValueRequested(object sender, ExternalSummaryValueEventArgs e)
{
e.SummaryValue.SetExternalSummaryValue("90");
}
集計計算機の集計 (Average、Count、Maximum、Minimum および Sum) も外部で計算できます。これを実現するには、 UseExternalSummaryCalculator プロパティを True に設定します。このプロパティは、UltraGrid.Override
および特定の Band.Override
で設定することができます。このプロパティが True に設定された場合、UltraGrid は集計計算を停止して ExternalSummaryValueRequested イベントを発生させ、集計に配置する値を要求します。
以下の表では、必要な構成をプロパティ設定にマップしています。
このコード例では、以下の設定を適用して UltraGrid コントロールで集計計算機上に外部集計値を表示しています。
次のスクリーンショットでは、Example テキスト ブロックの設定によって、UltraGrid が子バンドの集計計算機に外部集計値を表示している状態を示しています。
以下のサンプル コードでは、Summary Calculator を External に設定しています。 UseExternalSummaryCalculator プロパティが True
に設定されます。UltraGrid は、子バンドに対する Summary Calculator で外部集計値を表示します。集計値は ExternalSummaryValueRequested イベント内で設定されます。
Visual Basic の場合:
' 集計計算機でグリッド全体に対する集計を外部から計算します。
' this.ultraGrid1.DisplayLayout.Override.UseExternalSummaryCalculator = DefaultableBoolean.True;
' Allows Summary Calculator to calculate summaries externally for a specific band(Bands[1]).
' UltraGrid summary calcuation is stopped and 'ultraGrid1_ExternalSummaryValueRequested event is fired.
Me.ultraGrid1.DisplayLayout.Bands(1).Override.UseExternalSummaryCalculator = Infragistics.Win.DefaultableBoolean.True
Private Sub ultraGrid1_ExternalSummaryValueRequested(sender As Object, e As ExternalSummaryValueEventArgs)
Select Case e.SummaryValue.SummarySettings.SummaryType.ToString()
Case "Count"
e.SummaryValue.SetExternalSummaryValue(5)
Exit Select
Case "Maximum"
e.SummaryValue.SetExternalSummaryValue(100)
Exit Select
End Select
End Sub
C# の場合:
// 集計計算機でグリッド // 全体に対する集計を外部から計算します。
// this.ultraGrid1.DisplayLayout.Override.UseExternalSummaryCalculator =
// DefaultableBoolean.True;
// Allows Summary Calculator to calculate summaries externally for a specific
// band(Bands[1]).
// UltraGrid summary calcuation is stopped and
// ultraGrid1_ExternalSummaryValueRequested event is fired.
this.ultraGrid1.DisplayLayout.Bands[1].Override.UseExternalSummaryCalculator =
Infragistics.Win.DefaultableBoolean.True;
private void ultraGrid1_ExternalSummaryValueRequested(object sender, ExternalSummaryValueEventArgs e)
{
switch (e.SummaryValue.SummarySettings.SummaryType.ToString())
{
case "Count":
e.SummaryValue.SetExternalSummaryValue(5);
break;
case "Maximum":
e.SummaryValue.SetExternalSummaryValue(100);
break;
}
}
以下のトピックでは、このトピックに関連する情報を提供しています。