Criando colunas de expressãoCreating Expression Columns

Você pode definir uma expressão para uma coluna, permitindo que ela contenha um valor calculado dos valores de outras colunas na mesma linha ou dos valores de coluna de várias linhas na tabela.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. Para definir a expressão a ser avaliada, use a propriedade Expression de coluna de destino e use a propriedade ColumnName para se referir a outras colunas na expressão.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. O DataType para a coluna de expressão deve ser apropriado para o valor que a expressão retorna.The DataType for the expression column must be appropriate for the value that the expression returns.

A tabela a seguir lista vários usos possíveis para colunas de expressão em uma tabela.The following table lists several possible uses for expression columns in a table.

Tipo de expressãoExpression type ExemploExample
ComparaçãoComparison "Total >= 500""Total >= 500"
ComputaçãoComputation "UnitPrice * Quantity""UnitPrice * Quantity"
AgregaçãoAggregation Sum(Price)Sum(Price)

Você pode definir as expressão propriedade em uma existente DataColumn objeto, ou você pode incluir a propriedade como o terceiro argumento passado para o DataColumn construtor, conforme mostrado no exemplo a seguir.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");  

As expressões podem referenciar outras colunas de expressão; no entanto, uma referência circular, na qual duas expressões referenciam-se entre si, gerará uma exceção.Expressions can reference other expression columns; however, a circular reference, in which two expressions reference each other, will generate an exception. Para obter regras sobre como escrever expressões, consulte o Expression propriedade do DataColumn classe.For rules about writing expressions, see the Expression property of the DataColumn class.

Consulte tambémSee also