式列の作成Creating Expression Columns

列の式を定義すると、同じ行の他の列値またはテーブル内の複数の行の列値に基づいて計算した値を、その列に格納できます。You can define an expression for a column, enabling it to contain a value calculated from other column values in the same row or from the column values of multiple rows in the table. 評価する式を定義するには、対象の列の Expression プロパティを使用し、その式で ColumnName プロパティを使用して他の列を参照します。To define the expression to be evaluated, use the Expression property of the target column, and use the ColumnName property to refer to other columns in the expression. 式列の DataType は、その式が返す値に適した型であることが必要です。The DataType for the expression column must be appropriate for the value that the expression returns.

テーブル内の式列で使用できるいくつかの式の種類を次の表に示します。The following table lists several possible uses for expression columns in a table.

式の種類Expression type Example
条件式Comparison "Total > = 500""Total >= 500"
計算Computation "UnitPrice * Quantity""UnitPrice * Quantity"
集約Aggregation Sum(Price)Sum(Price)

次の例に示すように、既存のDataColumnオブジェクトでDataColumn Expressionプロパティを設定するか、コンストラクターに渡す3番目の引数としてプロパティを含めることができます。You can set the Expression property on an existing DataColumn object, or you can include the property as the third argument passed to the DataColumn constructor, as shown in the following example.

workTable.Columns.Add("Total",Type.GetType("System.Double"))  
workTable.Columns.Add("SalesTax", Type.GetType("System.Double"), _  
  "Total * 0.086")  
workTable.Columns.Add("Total", typeof(Double));  
workTable.Columns.Add("SalesTax", typeof(Double), "Total * 0.086");  

式は他の式列を参照できます。ただし、2 つの式が相互に参照し合う循環参照の場合は、例外が生成されます。Expressions can reference other expression columns; however, a circular reference, in which two expressions reference each other, will generate an exception. 式の記述に関する規則についExpressionては、 DataColumnクラスのプロパティを参照してください。For rules about writing expressions, see the Expression property of the DataColumn class.

関連項目See also