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