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=WM00088SQLEXPRESS;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

5 comentarios en “Crear una columna calculada en un DataTable”

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *