PowerTools SPREAD for ASP.NET 8.0J > 開発者の手引き > 数式 > 自動再計算 |
デフォルトでは、スプレッドシートの数式は、依存セル内のデータが変更されたときに自動的に再計算されます。また、列や行を挿入または削除した時点、およびセル ブロックを移動または入れ替えた時点で、スプレッドシートの数式は自動的に更新されます。
このような自動再計算や自動更新は、必要に応じて無効にできます。 しかし一般的には、列や行を挿入または削除したとき、およびセルブロックを移動または入れ替えたときは、数式の自動更新が必要になります。数式の自動更新を無効にする場合は、ユーザーがデータの移動、行や列の追加、またはデータの位置に影響を与える他の操作を実行したときに、スプレッドシート上でどのような影響があるかを考慮する必要があります。
数式の自動更新を有効にしている場合は、スプレッドシートの絶対セル参照および相対セル参照は、次のように更新されます。
たとえば、セル A1 を絶対参照する数式がセル C3 内に入力されている場合に、スプレッドシートの一番上に行を追加したとします。この場合、行の追加後にはセル A1 は空白となるため、数式がセル A2 を参照するように更新する必要があります。 スプレッドシートで数式の更新が行われないと、数式が別のデータを参照してしまう可能性があります。
たとえば、セル C1 を相対参照する数式が セル C3 内に入力されている場合、この数式は セル C1 を、自身より2つ上のセルとして参照しています。 行2と行3の間に1行追加すると、セル C3 はセル C4 に変わります。この場合の相対アドレスは、C4 セルの2つ上のセルである C2 となります。 したがって、数式内で同じデータが使用されるように、数式セルより3つ上のセル、つまりセル C1 を参照するようにセル参照が更新されます。
数式の自動再計算の有効/無効を切り替えるには、SheetView クラス のAutoCalculation プロパティを使用します。数式を再計算するには、RecalculateまたはRecalculateAll メソッドを使用します。
FpSpread クラスのClientAutoCalculation プロパティはAjaxを使用して自動再計算を行うため、EnableAjaxCall プロパティをtrueに設定する必要があります。
次のサンプルコードは、クライアント側の自動再計算を有効にします。
FpSpread1.EnableAjaxCall = true; FpSpread1.ClientAutoCalculation = true;
FpSpread1.EnableAjaxCall = True FpSpread1.ClientAutoCalculation = True