HOW TO:加入計算的欄位
您可以建立從其他欄位值衍生其值的欄位。例如,您可以將名為 Subtotal 的欄位加入至 Order_Details 實體。您可以指定透過將 UnitPrice 欄位值乘以 OrderQuantity 欄位值的方式衍生 Subtotal 欄位的值。
注意事項 |
---|
您不能將運算欄位包含在查詢中做為篩選條件或排序條件的一部分。此外,您也無法按一下運算欄位的行標題來排序畫面中的資訊。 |
如需相關的視訊示範,請參閱如何撰寫 LightSwitch 應用程式中用於驗證和計算欄位的商務規則? (英文)。
若要定義運算欄位
在 [方案總管] 中,按兩下實體或資料表。
實體或資料表會在 [資料設計工具] 中開啟。
在 [資料設計工具] 的命令列上,按一下 [運算屬性]。
實體或資料表的最下面一列會出現新的欄位。
按一下 [名稱] 資料行中,按一下新欄位的名稱,然後輸入名稱 (例如:小計)。
在新欄位的 [型別] 資料行中,選取資料型別 (例如:[Money])。
在 [屬性] 視窗中,按一下 [編輯方法]。
程式碼編輯器開啟並產生名為 FieldName**_Compute** 的方法。
將程式碼加入至設定 result 參數值的 FieldName**_Compute** 方法。下列範例會將 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; }
運算欄位不會儲存到資料來源中。運算欄位只會在使用實體或資料表的畫面中出現。在資料設計工具中,運算欄位旁邊都會顯示類似計算機的小圖示。此圖示表示欄位僅用於顯示目的,並不會影響的實體或資料表的資料來源。
在大多數情況下,運算欄位的值會根據對您用於衍生運算欄位值之任何欄位所做的變更來重新計算。如果運算欄位的值未更新,使用者可以重新整理畫面來檢視更新後的值。您也可以撰寫當發生特定事件時重新整理畫面的自訂程式碼。如需詳細資訊,請參閱HOW TO:處理資料事件。