Crear columnas de expresiónCreating Expression Columns

Se puede definir una expresión para una columna, a fin de que pueda contener un valor calculado a partir de los valores de otra columna de la misma fila o de los valores de columna de varias filas de la tabla.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 la expresión que se va a evaluar, utilice la propiedad Expression de la columna de destino y la propiedad ColumnName para hacer referencia a otras columnas en la expresión.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. El DataType para la columna de expresión debe ser adecuado para el valor que dicha expresión devuelve.The DataType for the expression column must be appropriate for the value that the expression returns.

En la tabla siguiente se enumeran varios usos posibles de las columnas de expresión de una tabla.The following table lists several possible uses for expression columns in a table.

Tipo de expresiónExpression type EjemploExample
De comparaciónComparison "Total >= 500""Total >= 500"
CálculoComputation "UnitPrice * Quantity""UnitPrice * Quantity"
AgregaciónAggregation Sum(Precio)Sum(Price)

Puede establecer la propiedad Expression en un objeto DataColumn existente, o puede incluir la propiedad como el tercer argumento pasado al DataColumn constructor, como se muestra en el ejemplo siguiente.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");  

Las expresiones pueden hacer referencia a otras columnas de expresión; sin embargo, una referencia circular, en la que dos expresiones se hacen referencia una a otra, generará una excepción.Expressions can reference other expression columns; however, a circular reference, in which two expressions reference each other, will generate an exception. Para obtener las reglas sobre la escritura de expresiones, vea la Expression propiedad de la clase DataColumn .For rules about writing expressions, see the Expression property of the DataColumn class.

Vea tambiénSee also