表示: Delphi
C++
表示設定
計算項目のプログラミング
提供:RAD Studio XE2
項目コンポーネントの操作:インデックス への移動
計算項目を定義したら,項目値を計算するコードを記述しなければなりません。そうしないと,項目は必ずヌル値になります。計算項目のコードはデータセットの OnCalcFields イベントに記述します。
計算項目の値をプログラミングする手順は次のとおりです。
- オブジェクトインスペクタのドロップダウンリストから,データセットコンポーネントを選択します。
- オブジェクトインスペクタの[イベント]ページを選択します。
- OnCalcFields プロパティをダブルクリックしてデータセットコンポーネントの CalcFields 手続きを呼び出すか作成します。
- 計算項目の値やその他のプロパティを設定するコードを記述します。
たとえばデータモジュール CustomerData のテーブル Customers に,CityStateZip という計算項目を作成したとします。CityStateZip は,会社が存在する都市,州,郵便番号を 1 行でデータベース対応コントロールに表示する必要があります。
Customers テーブルの CalcFields 手続きにコードを追加するには,オブジェクトインスペクタのドロップダウンリストから Customers テーブルを選択して[イベント]ページに切り替え,OnCalcFields プロパティをダブルクリックします。
TCustomerData.CustomersCalcFields 手続きが,ユニットのソースコードウィンドウに表示されます。次のコードを,項目を計算する手続きに追加します。
CustomersCityStateZip.Value := CustomersCity.Value + ', ' + CustomersState.Value + ' ' + CustomersZip.Value;
CustomersCityStateZip->Value = CustomersCity->Value + AnsiString(", ") +
メモ: 内部計算項目の OnCalcFields イベントハンドラを書く場合,クライアントデータセットの 's State プロパティにチェックマークを付けて,State が dsInternalCalc のときだけ値を再計算させると,処理効率を向上できます。詳細については,「クライアントデータセットで内部計算項目を使用する」を参照してください。