1 Asp.net DataTable添加列和行的方法
2 方法一:
3
4 DataTable tblDatas = new DataTable("Datas");
5 DataColumn dc = null;
6 dc = tblDatas.Columns.Add("ID", Type.GetType("System.Int32"));
7 dc.AutoIncrement = true;//自动增加
8 dc.AutoIncrementSeed = 1;//起始为1
9 dc.AutoIncrementStep = 1;//步长为1
10 dc.AllowDBNull = false;//
11
12 dc = tblDatas.Columns.Add("Product", Type.GetType("System.String"));
13 dc = tblDatas.Columns.Add("Version", Type.GetType("System.String"));
14 dc = tblDatas.Columns.Add("Description", Type.GetType("System.String"));
15
16 DataRow newRow;
17 newRow = tblDatas.NewRow();
18 newRow["Product"] = "大话西游";
19 newRow["Version"] = "2.0";
20 newRow["Description"] = "我很喜欢";
21 tblDatas.Rows.Add(newRow);
22
23 newRow = tblDatas.NewRow();
24 newRow["Product"] = "梦幻西游";
25 newRow["Version"] = "3.0";
26 newRow["Description"] = "比大话更幼稚";
27 tblDatas.Rows.Add(newRow);
28
29 方法二:
30
31 DataTable tblDatas = new DataTable("Datas");
32 tblDatas.Columns.Add("ID", Type.GetType("System.Int32"));
33 tblDatas.Columns[0].AutoIncrement = true;
34 tblDatas.Columns[0].AutoIncrementSeed = 1;
35 tblDatas.Columns[0].AutoIncrementStep = 1;
36
37 tblDatas.Columns.Add("Product", Type.GetType("System.String"));
38 tblDatas.Columns.Add("Version", Type.GetType("System.String"));
39 tblDatas.Columns.Add("Description", Type.GetType("System.String"));
40
41 tblDatas.Rows.Add(new object[]{null,"a","b","c"});
42 tblDatas.Rows.Add(new object[] { null, "a", "b", "c" });
43 tblDatas.Rows.Add(new object[] { null, "a", "b", "c" });
44 tblDatas.Rows.Add(new object[] { null, "a", "b", "c" });
45 tblDatas.Rows.Add(new object[] { null, "a", "b", "c" });
46
47 方法三:
48 DataTable table = new DataTable ();
49
50 //创建table的第一列
51 DataColumn priceColumn = new DataColumn();
52 //该列的数据类型
53 priceColumn.DataType = System.Type.GetType("System.Decimal");
54 //该列得名称
55 priceColumn.ColumnName = "price";
56 //该列得默认值
57 priceColumn.DefaultValue = 50;
58
59 // 创建table的第二列
60 DataColumn taxColumn = new DataColumn();
61 taxColumn.DataType = System.Type.GetType("System.Decimal");
62 //列名
63 taxColumn.ColumnName = "tax";
64 //设置该列得表达式,用于计算列中的值或创建聚合列
65 taxColumn.Expression = "price * 0.0862";
66 // Create third column.
67 DataColumn totalColumn = new DataColumn();
68 totalColumn.DataType = System.Type.GetType("System.Decimal");
69 totalColumn.ColumnName = "total";
70 //该列的表达式,值是得到的是第一列和第二列值得和
71 totalColumn.Expression = "price + tax";
72
73 // 将所有的列添加到table上
74 table.Columns.Add(priceColumn);
75 table.Columns.Add(taxColumn);
76 table.Columns.Add(totalColumn);
77
78 //创建一行
79 DataRow row = table.NewRow();
80 //将此行添加到table中
81 table.Rows.Add(row);
82
83 //将table放在试图中
84 DataView view = new DataView(table);
85 dg.DataSource = view;
86
87 dg.DataBind();