1. 程式人生 > >DataTable新增行和列

DataTable新增行和列

手動插入一行資料

        DataSet ds = tTalent.GetAllInfo();
        DataRow dr = ds.Tables[0].NewRow();
        dr["id"] = 0;
        dr["aboutType"] = "常見問題";
        dr["contents"] = "";
        ds.Tables[0].Rows.Add(dr);
        this.dlTalent.DataSource = ds.Tables[0].DefaultView;
        this.dlTalent.DataBind();

插入一列資料

        DataTable dt = DBHelper.GetDataTable(sql);
        dt.Columns.Add("num", Type.GetType("System.Int32"));
        for (int i = 0; i < dt.Rows.Count; i++)
        {
            dt.Rows[i]["num"] = i + 1;
        }

網路轉載,以留備用  ↓↓↓↓↓↓↓↓↓

DataTable新增列和行的方法

C#  
方法一:

DataTable  tblDatas = newDataTable("Datas");
DataColumn dc = null;

//賦值給dc,是便於對每一個datacolumn的操作
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);

方法二:

 DataTable tblDatas = newDataTable("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(newobject[]{null,"a","b","c"});
tblDatas.Rows.Add(newobject[] { 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" });

方法三:
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_r_r = "price *0.0862";
//
Create third column.
DataColumn totalColumn = new DataColumn();
totalColumn.DataType = System.Type.GetType("System.Decimal");
totalColumn.ColumnName = "total";
//該列的表示式,值是得到的是第一列和第二列值得和
totalColumn.expression_r_r = "price + tax";

// 將所有的列新增到table上
table.Columns.Add(priceColumn);
table.Columns.Add(taxColumn);
table.Columns.Add(totalColumn);

//建立一行
 DataRow row = table.NewRow();
 //將此行新增到table中
table.Rows.Add(row);

//將table放在試圖中
 DataViewview = new DataView(table);
dg.DataSource = view;

dg.DataBind();