Adding Expressions, Default Values and Constraints to a Table

DataTable objTable = new DataTable("NewBooks");

  // declare a variable to hold a DataColumn object
  DataColumn objColumn;

  // define the columns (fields) within the table
  // the first is an AutoIncrement column to act as the key
  objColumn = objTable.Columns.Add("kBookKey", Type.GetType("System.Int32"));
  objColumn.AutoIncrement = true;
  objColumn.AutoIncrementSeed = 1000;
  objColumn.AutoIncrementStep = 10;

  // next, the ISBN column which must be unique and not allow Null values
  objColumn = objTable.Columns.Add("ISBN", Type.GetType("System.String"));
  objColumn.AllowDBNull = false;
  objColumn.Unique = true;
  objColumn.MaxLength = 10;

  // now two more columns to hold general information
  objTable.Columns.Add("Title", Type.GetType("System.String"));
  objTable.Columns.Add("PublicationDate", Type.GetType("System.DateTime"));

  // add two columns to hold stock and order quantities, with default values of zero
  objColumn = objTable.Columns.Add("StockQty", Type.GetType("System.Int32"));
  objColumn.DefaultValue = 0;
  objColumn = objTable.Columns.Add("OrderedQty", Type.GetType("System.Int32"));
  objColumn.DefaultValue = 0;

  // add a column containing an expression showing the quantity availability
  objColumn = objTable.Columns.Add("AvailableQty", Type.GetType("System.Int32"));
  objColumn.Expression = "[StockQty] - [OrderedQty]";

  // declare a variable to hold a DataRow object
  DataRow objDataRow;

  // create a new DataRow object instance in this table
  objDataRow = objTable.NewRow();

  // and fill in the values
  objDataRow["ISBN"] = "1234567800";
  objDataRow["Title"] = "Professional Video Recorder Programming";
  objDataRow["PublicationDate"] = new DateTime(2001, 03, 01);
  objDataRow["StockQty"] = 3956;
  objDataRow["OrderedQty"] = 450;
  objTable.Rows.Add(objDataRow);

  // repeat to add two more rows
  objDataRow = objTable.NewRow();
  objDataRow["ISBN"] = "1234567801";
  objDataRow["Title"] = "Professional WAP Phone Programming";
  objDataRow["PublicationDate"] = new DateTime(2001, 06, 01);
  objDataRow["StockQty"] = 329;
  // note - no "OrderedQty" provided so default value used
  objTable.Rows.Add(objDataRow);

  objDataRow = objTable.NewRow();
  objDataRow["ISBN"] = "1234567802";
  objDataRow["Title"] = "Professional Radio Station Programming";
  objDataRow["PublicationDate"] = new DateTime(2001, 04, 01);
  // note - no "StockQty" provided so default value used
  objDataRow["OrderedQty"] = 1200;
  objTable.Rows.Add(objDataRow);

  // assign the DataTable's DefaultView object to the DataGrid control
  dgrResult.DataSource = objTable.DefaultView;
  dgrResult.DataBind();  // and bind (display) the data

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值