DataTable添加列和行的三种方法

时间:2021-06-16 14:59:28

JRoger 原文

#region 方法一:
DataTable tblDatas =new DataTable("Datas");
DataColumn dc =null;
dc = tblDatas.Columns.Add("ID", Type.GetType("System.Int32"));
dc.AutoIncrement =true;//自动增加
dc.AutoIncrementSeed =;//起始为1
dc.AutoIncrementStep =;//步长为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[].AutoIncrement =true;
tblDatas.Columns[].AutoIncrementSeed =;
tblDatas.Columns[].AutoIncrementStep =;
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(newobject[] { null, "a", "b", "c" });
tblDatas.Rows.Add(newobject[] { null, "a", "b", "c" });
tblDatas.Rows.Add(newobject[] { null, "a", "b", "c" });
tblDatas.Rows.Add(newobject[] { null, "a", "b", "c" });
tblDatas.Rows.Add(newobject[] { 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 =;//该列得默认值
// 创建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