创建表达式列

您可以为列定义表达式,让它能够包含根据同一行中其他列值或根据表中多行的列值计算而得的值。 要定义要计算的表达式,可使用目标列的 Expression 属性,并使用 ColumnName 属性在表达式中引用其他列。 用于表达式列的 DataType 必须适合于表达式将返回的值。

下表列出了表中表达式列的几种可能用法。

表达式类型 示例
比较 “总计 >= 500”
计算 "UnitPrice * Quantity"
聚合 Sum(Price)

你可以在现有的 DataColumn 对象上设置 Expression 属性,也可以将该属性用作传递到 DataColumn 构造函数的第三个参数,如下例所示。

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");  

表达式可以引用其他表达式列,但循环引用(其中两个表达式相互引用)将产生异常。 有关编写表达式的规则,请参阅 DataColumn 类的 Expression 属性。

请参阅