CalculatedRecordSetは、LocalRecordGridにセル間で計算する機能を付加します。セルの値が変更されると、値を参照しているセルの値も自動的に再計算されます。
サンプル

http://developers.curlap.com/curl/curl-ext/hp2/calculatedemo.curl
各行の値の合計値を右端の列に表示しています。
使い方
RecordSetを作成する代わりにCalculatedRecordSetのインスタンスを作成します。そのコンストラクタにはCalculatedFieldManagerクラスのインスタンスを渡します。以下の部分です。
| def rs1 = {CalculatedRecordSet manager, rf1, | 
CalculatedRecordSetのコンストラクタは以下のようになっています。
| {default | 
計算ロジックを定義します。CalculatedRecordSetから取り出したレコードをCalculatedRecordにキャストして、set-calculated-fieldメソッドに引数として渡します。
| {for record in rs1 do def rec = record asa CalculatedRecord {rs1.set-calculated-field rec, rf1[“row-sum”], update-proc = sum-proc, {rs1.get-or-create-calculated-field rec, rf1[“a”]}, {rs1.get-or-create-calculated-field rec, rf1[“b”]}, {rs1.get-or-create-calculated-field rec, rf1[“c”]}} } | 
set-calculated-fieldメソッドの引数は以下のようになっています。
| {set-calculated-field ||計算処理をセットするレコードです。 record:CalculatedRecord, ||計算処理をセットするフィールドです。 record-field:RecordField, ||計算処理を定義するプロシージャ。CalculatedFieldUpdateProcTypeは ||{proc-type {CalculatedField}:void}と定義されていて、 ||これが呼び出される際にここに渡される引数は、第二引数で指定したフィールドです。 update-proc:#CalculatedFieldUpdateProcType = null, ||レコードやフィールドが削除されるとき、自動的に削除されてもよいかどうかを設定します。 weak-predecessors?:bool = false, ||変更を検知するCalculatedFieldを指定します。 …:CalculatedField } | 
ここでは…引数をget-or-create-calculated-fieldの戻り値として渡しています。get-or-create-calculated-fieldは、引数で与えられるレコードとフィールドに関連付けたCalculatedRecordFieldを、必要であれば作成して返すメソッドです。
get-or-create-calculated-fieldメソッドの引数は以下のようなものです。
| {get-or-create-calculated-field record:CalculatedRecord, || 関係するレコード record-field:RecordField || 関係するフィールド } | 
 
		 日本語
 日本語 العربية
 العربية 简体中文
 简体中文 Nederlands
 Nederlands English
 English Français
 Français Deutsch
 Deutsch Italiano
 Italiano Português
 Português Русский
 Русский Español
 Español