新しい集計をクライアントで計算できない特殊なケースが 1 つだけあります。これは、ページングが有効になっている場合など、計算に必要なデータがクライアントで使用できない、あるいは使用できない可能性がある場合に発生します。
たとえば、ユーザーが最小値または最大値のいずれかを含む行を削除する、またはそのような値を含むセルを単に編集する場合、最小値または最大値を新たに計算する必要があります。しかし、新しい最小値または最大値がクライアントで使用できない、またはその値が使用できるかどうか確認できない場合は、新しい最小値または最大値を取得することはできません。
そのような場合、「SummaryRowClientEvents-CalculateSummary」という特別なイベントが発生します。t例えば、デベロッパーであるあなたが処理したり、新しい値を設定したり、イベント引数に変更を行ったりしてポストバックを強制的に行い、変更を受け入れることができます。また、クライアント側で削除された変更を元に戻し、ポストバックは行わないようにすることもできます。このイベントをそのままにしておくと、自動ポストバックが内部で呼び出され、新しい極端な値が自動的に計算されます。
Count、Average、Sum など他の集計値については、再計算はすべてクライアント側で行われます。
SummaryRowClientEvents-CalculateSummary イベントに添付するには、コードの以下の行を使用します。
<ig:WebHierarchicalDataGrid ID="wdg1" runat="server">
<Behaviors>
<ig:EditingCore BatchUpdating="true">
<Behaviors>
<ig:RowAdding/>
<ig:RowDeleting/>
<ig:CellEditing/>
</Behaviors>
</ig:EditingCore>
<ig:SummaryRow
SummaryRowClientEvents-CalculateSummary="wdg1CalculateSummary">
</ig:SummaryRow>
<ig:Selection
CellClickAction="Row" RowSelectType="Multiple"></ig:Selection>
<ig:Paging></ig:Paging>
</Behaviors>
</ig:WebHierarchicalDataGrid>
また、javascript コードを使用してハンドラーを定義します。
function wdg1CalculateSummary(sender, eventArgs) {
}
注: 子バンドに接続したい場合は各バンドで同じことを行う必要があります。
SummaryRowClientEvents-CalculateSummary イベントの処理方法に関する実際のコード例については、Batch Update Summary サンプルを参照してください。WebDataGrid のサンプルですが、Hierarchical サンプルでも同じことができます。