Crear una columna calculada en un DataTable
A veces necesitamos crear una columna calculada en base a otras que ya disponemos como por ejemplo un total, un %... Para ello sólo debemos agregar una nueva columna a nuestro DataTable, especificarle el Nombre y el Tipo de dato y asignar a la propiedad Expression del objeto DataColumn la fórmula que queremos calcular.
Por ejemplo, vamos a crear una columna llamada Total sobre un DataTable que contendrá la información de la tabla [Order Details] de la base de datos NorthWind, en la que vamos a calcular el Total de cada Línea de Detalle:
1: using (SqlConnection con = new SqlConnection(
2: @"server=WM00088\SQLEXPRESS;integrated security=true;database=Northwind"))
3: { 4: con.Open();
5: SqlCommand comando = new SqlCommand();
6: comando.CommandText = "SELECT * FROM [Order Details]";
7: comando.Connection = con;
8: DataTable dt = new DataTable();
9: dt.Load(comando.ExecuteReader());
10: DataColumn dc = new DataColumn("Total", typeof(decimal)); 11: dc.Expression = "UnitPrice * Quantity";
12: dt.Columns.Add(dc);
13: }
Fácil no???
Salu2