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

Published 18/6/2007 14:49 por Luis Ruiz Pavón
Archivado en:
Comparte este post:
http://geeks.ms/blogs/lruiz/archive/2007/06/18/crear-una-columna-calculada-en-un-datatable.aspx

Comentarios

# re: Crear una columna calculada en un DataTable

Uyyyyyy que bueno

Wednesday, June 20, 2007 1:57 AM por elioclimaco

# re: Crear una columna calculada en un DataTable

Excelente gracias

Friday, May 9, 2008 6:20 PM por Jorge Sandoval (Chile)

# re: Crear una columna calculada en un DataTable

Excelete, te sobraste!

Monday, June 16, 2008 10:23 PM por yo

# re: Crear una columna calculada en un DataTable

como puedo llenar un dataset en aplicacion web

Thursday, August 14, 2008 9:03 PM por fred

# re: Crear una columna calculada en un DataTable

Como controlar si en el expression trata de hacer una division por cero.

Saturday, November 7, 2009 9:05 PM por Gino