public static void Main()
var table = new DataTable();
table.Columns.Add( "Id", typeof(Int32) );
table.Columns.Add( "Code", typeof(String) );
table.Columns.Add( "Description", typeof(string) );
table.Columns.Add( "Quantity", typeof(Int32) );
table.Columns.Add( "ItemPrice", typeof(decimal) );
table.Columns.Add( "SubTotal", typeof( decimal ), "Quantity*ItemPrice");
table.Columns.Add( "Taxes", typeof( decimal ), "SubTotal*0.21");
table.Columns.Add( "LineTotal", typeof( decimal ), "SubTotal + Taxes");
table.Rows.Add( 1, "DECA10", "Coffee decafinated", 1, 2.5 );
table.Rows.Add( 2, "ESPR", "Espresso", 2, 2.5 );
string subTotal = ((decimal)table.Compute( "Sum(SubTotal)", "")).ToString("N2");
string total = ((decimal)table.Compute( "Sum(LineTotal)", "")).ToString("N2");
string taxTotal = ((decimal)table.Compute( "Sum(Taxes)", "")).ToString("N2");
string quantityTotal = table.Compute( "Sum(Quantity)", "").ToString();
Console.WriteLine( "Sub total = {0} €", subTotal );
Console.WriteLine( "Taxes = {0} €", taxTotal );
Console.WriteLine( "Total = {0} €", total );
Console.WriteLine( "Quantity = {0} pieces", quantityTotal );