次の方法で共有


方法: 計算フィールドを LightSwitch データベースに追加する

Visual Studio LightSwitch アプリケーションで、データベース内の他のフィールドの値に基づいて値が計算されるフィールドを作成できます。 たとえば、Subtotal とうい名前のフィールドを Order_Details エンティティに追加できます。 UnitPrice フィールドの値と OrderQuantity フィールドの値を乗算することによって、Subtotal フィールドの値を取得するように指定できます。

注意

クエリのフィルター条件や並べ替え語句に計算フィールドを含めることはできません。また、計算フィールドの列見出しを選択して画面の情報を並べ替えることもできません。

ビデオへのリンク 関連するビデオ デモは、「How Do I: Write business rules for validation and calculated fields in a LightSwitch Application? (操作方法: LightSwitch アプリケーションで使用する検証フィールドと計算フィールドのビジネス ルールを記述する)」を参照してください。

計算フィールドを定義するには

  1. ソリューション エクスプローラーで、エンティティまたはテーブルのショートカット メニューを表示し、[開く] を選択します。

    エンティティまたはテーブルがデータ デザイナーで開きます。

    注意

    Visual Studio 2012 更新プログラム 2 にアップグレードしたアプリケーションでは、パースペクティブ バーで [サーバー] タブを選択します。

  2. データ デザイナーのコマンド バーで [計算されたプロパティ] を選択します。

    新しいフィールドがエンティティまたはテーブルの下の行に表示されます。

  3. [名前] 列に、新しいフィールドの名前 (「小計」など) を入力します。

  4. [型] 列で、新しいフィールドのデータ型 ([通貨] など) を選択します。

  5. [プロパティ] ウィンドウで [メソッドの編集] リンクを選択します。

    コード エディターが開き、FieldName**_Compute** という名前のメソッドが生成されます。

  6. FieldName**_Compute** メソッドに、result パラメーターの値を設定するコードを追加します。 次の例は、UntiPrice フィールドの値と OrderQuantity フィールドの値を乗算することによって、Subtotal フィールドの値を設定します。

    Private Sub Subtotal_Compute(ByRef result As Decimal)
        result = Me.Quantity * Me.UnitPrice
    
    partial void Subtotal_Compute(ref decimal result)
    {
        result = this.Quantity * this.UnitPrice;
    }
    

計算フィールドはデータ ソースに保存されません。 計算フィールドは、エンティティまたはテーブルを使用する画面にのみ表示されます。 データ デザイナーでは、計算フィールドの横に電卓に似た小さなアイコンが表示されます。 このアイコンは、そのフィールドが表示目的でのみ使用され、エンティティやテーブルのデータ ソースには影響しないことを表します。

ほとんどの場合、計算フィールドの値は、計算フィールドの値の取得に使用する任意のフィールドへの変更に基づいて再計算されます。 計算フィールドの値が更新されない場合、ユーザーが画面を更新すると最新の値が表示されます。 特定のイベントが発生すると画面を更新するカスタム コードを記述することもできます。 「方法: データ イベントを処理する」を参照してください。

参照

処理手順

方法: LightSwitch データベースのデータ フィールドを定義する

方法: LightSwitch アプリケーションでフィールドの値のリストを作成する

その他の技術情報

データ: アプリケーションの背景情報