Adding a
Calculated Column to a DataTable
An expression column contains a
value that is calculated from other column values in the same row, or from an
aggregate of rows in the table or in a related table. The DataType
of the column must be compatible with the return value of the expression.
Following Example shows how to use a calculated column in a DataTable
using System;
using System.Data;
namespace CalculatedColumninaDataTable
{
class Program
{
static void Main(string[]
args)
{
DataTable
Order = new DataTable();
Order.Columns.Add("ProductName", typeof(string));
Order.Columns.Add("Quantity", typeof(int));
Order.Columns.Add("UnitPrice", typeof(decimal));
Order.Columns.Add("UnitPriceDiscount", typeof(decimal));
//
Add an expression column to the table.
Order.Columns.Add("TotalPrice", typeof(decimal), "(UnitPrice
-UnitPriceDiscount) * Quantity");
DataRow
newOrder = Order.NewRow();
Order.Rows.Add("Widget",7,1.84,0.14);
Order.Rows.Add("Bobbin", 8, 4.2,0.33);
Order.Rows.Add("Sniglet", 4, 6.39,0.13);
Order.Rows.Add("Wire", 8, 5.58,0.21);
Order.Rows.Add("Gear", 10, 0.17,0.1);
Console.WriteLine("ProductName
Quantity UnitPrice TotalPrice \n");
foreach
(DataRow row in
Order.Rows)
Console.WriteLine("{0}\t \t {1}\t
{2}\t \t {3} \n",
row["ProductName"], row["Quantity"],
row["UnitPrice"], row["TotalPrice"]);
Console.WriteLine("\nPress any key to continue.");
Console.ReadKey();
}
}
}
Output :