C# DataTable 的常見用法:
(1)新建數據表。
DataTable dt=new DataTable();如果帶個String參數,此參數表示表名。
(2)向表添加列。
//數據庫的Nvarchar等類型,在此可用String兼容。可不指明數據類型
DataColumn dc = new DataColumn("商品編號", typeof(system.string));
dt.Columns.Add(dc);
(3)設置表特定行與列的數據值。
dt.Rows[i].SetField<int>(dc, int.Parse(hc.Values[i]);
(4)將某行數據加入到表。
dt.Rows.Add(dr.ItemArray);
(5)合併表。
DataTable ds=car.getGoods(v); //從數據庫裏讀出的表
dt.Merge(ds); //將 ds 表合併到表 dt
(6)複製表。
dt = ds.Clone();
完整代碼段:
protected void Page_Load(object sender, EventArgs e)
{
HttpCookie hc=Request.Cookies["goods"];
DataTable dt = new DataTable();
DataColumn dc1 = new DataColumn("商品編號");
DataColumn dc2 = new DataColumn("商品名稱");
DataColumn dc3 = new DataColumn("商品重量");
DataColumn dc4 = new DataColumn("商品價格");
DataColumn dc5 = new DataColumn("購買數量");
dt.Columns.Add(dc1);
dt.Columns.Add(dc2);
dt.Columns.Add(dc3);
dt.Columns.Add(dc4);
dt.Columns.Add(dc5);
TemplateField fd = new TemplateField();
fd.HeaderText = "數量";
if (hc != null)
{
for (int i = 0; i < hc.Values.Count; i++)
{
string c = hc.Values.Keys[i];
string v = c.Replace("goodName", "");
DataTable ds=car.getGoods(v);
DataRow dr=ds.Rows[0];
// fd.ItemTemplate = new gr
//dt = ds.Clone();
//dt.Merge(ds);
dt.Rows.Add(dr.ItemArray);
dt.Rows[i].SetField<int>(dc5,int.Parse( hc.Values[i]));
}
GridView1.DataSource = dt;
GridView1.DataKeyNames = new string[] {"商品編號"};
GridView1.DataBind();
dt.Dispose();
}
}