jueves, 11 de agosto de 2011

ASP.NET – Columnas calculadas en Datatable

Les voy a mostrar una forma muy sencilla de añadirle una columna adicional al datatable, dicha columna puede formarse a partir de una o varias columnas del datatable, pero no necesariamente debe tomar alguna columna existente, como verán abajo en el punto 4.
Empecemos: Digamos que he llenado un datatable con el resultado de la sgte consulta:
SELECT [ProductName], [UnitPrice], 
[Quantity] FROM [dbo].[Product]

dt = YourQuery();

1.- Obtener una columna calculada a partir de columnas del datatable:

necesito obtener el total en dinero de UnitPrice x Quantity, para ello hacemos

dt.Columns.Add("Total", GetType(double), "UnitPrice*Quantity")


de esta manera ya mi datatable poseerá una columna adicional llamada Total con el cálculo del Precio x Cantidad de productos.

2.- Obtener una columna calculada a partir de una columna y otro valor:
multiplicar una columna con un valor numérico, así:

dt.Columns.Add("Total", GetType(double), "UnitPrice*1.5")


3.- Obtener una columna calculada mediante la evaluación de una condición:
la columna calculada se creará mediante una condición IIF

dt.Columns.Add("UserName", GetType(String), "iif(Name='','Anonymous',Name)")


4.- Obtener una columna calculada de tipo correlativo:

Dim Correlativo As DataColumn = New DataColumn("Correlativo", GetType(Integer))
Correlativo.AutoIncrement = True
Correlativo.AutoIncrementSeed = 1
dt.Columns.Add(Correlativo)

Espero que les sea de utilidad ;)

No hay comentarios.: