asp DataTable添加列和行的三种方法

时间:2022-09-01 20:25:40
代码如下:

#region 方法一: 
DataTable tblDatas = new DataTable("Datas"); 

DataColumn dc = null; 
dc = tblDatas.Columns.Add("ID", Type.GetType("System.Int32")); 
dc.AutoIncrement = true;//自动增加 
dc.AutoIncrementSeed = 1;//起始为1 
dc.AutoIncrementStep = 1;//步长为1 
dc.AllowDBNull = false; 

dc = tblDatas.Columns.Add("Product", Type.GetType("System.String")); 
dc = tblDatas.Columns.Add("Version", Type.GetType("System.String")); 
dc = tblDatas.Columns.Add("Description", Type.GetType("System.String")); 

DataRow newRow; 
newRow = tblDatas.NewRow(); 
newRow["Product"] = "大话西游"; 
newRow["Version"] = "2.0"; 
newRow["Description"] = "我很喜欢"; 
tblDatas.Rows.Add(newRow); 

newRow = tblDatas.NewRow(); 
newRow["Product"] = "梦幻西游"; 
newRow["Version"] = "3.0"; 
newRow["Description"] = "比大话更幼稚"; 
tblDatas.Rows.Add(newRow); 
#endregion 


复制代码代码如下:

#region 方法二: 
DataTable tblDatas = new DataTable("Datas"); 

tblDatas.Columns.Add("ID", Type.GetType("System.Int32")); 
tblDatas.Columns[0].AutoIncrement = true; 
tblDatas.Columns[0].AutoIncrementSeed = 1; 
tblDatas.Columns[0].AutoIncrementStep = 1; 

tblDatas.Columns.Add("Product", Type.GetType("System.String")); 
tblDatas.Columns.Add("Version", Type.GetType("System.String")); 
tblDatas.Columns.Add("Description", Type.GetType("System.String")); 

tblDatas.Rows.Add(new object[] { null, "a", "b", "c" }); 
tblDatas.Rows.Add(new object[] { null, "a", "b", "c" }); 
tblDatas.Rows.Add(new object[] { null, "a", "b", "c" }); 
tblDatas.Rows.Add(new object[] { null, "a", "b", "c" }); 
tblDatas.Rows.Add(new object[] { null, "a", "b", "c" }); 
#endregion 

复制代码代码如下:

#region 方法三: 
DataTable table = new DataTable(); 

//创建table的第一列 
DataColumn priceColumn = new DataColumn(); 
priceColumn.DataType = System.Type.GetType("System.Decimal");//该列的数据类型 
priceColumn.ColumnName = "price";//该列得名称 
priceColumn.DefaultValue = 50;//该列得默认值 

// 创建table的第二列 
DataColumn taxColumn = new DataColumn(); 
taxColumn.DataType = System.Type.GetType("System.Decimal"); 
taxColumn.ColumnName = "tax";//列名 
taxColumn.Expression = "price * 0.0862";//设置该列得表达式,用于计算列中的值或创建聚合列 

// 创建table的第三列 
DataColumn totalColumn = new DataColumn(); 
totalColumn.DataType = System.Type.GetType("System.Decimal"); 
totalColumn.ColumnName = "total"; 
totalColumn.Expression = "price + tax";//该列的表达式,是第一列和第二列值得和 

// 将所有的列添加到table上 
table.Columns.Add(priceColumn); 
table.Columns.Add(taxColumn); 
table.Columns.Add(totalColumn); 

//创建一行 
DataRow row = table.NewRow(); 
table.Rows.Add(row);//将此行添加到table中 

//将table放在试图中 
DataView view = new DataView(table); 

//绑定到DataGrid 
dg.DataSource = view; 
dg.DataBind(); 
#endregion