首页 文章

如何将New Column with Value添加到现有DataTable?

提问于
浏览
62

我有一个DataTable有5列和10行 . 现在我想向DataTable添加一个新列,我想将DropDownList值分配给New Column . 所以DropDownList值应该添加10次到New Column . 这该怎么做?注意:不使用FOR LOOP .

例如:我的现有DataTable是这样的 .

ID             Value
  -----          -------
    1              100
    2              150

现在我想在此DataTable中添加一个新列“CourseID” . 我有一个DropDownList . 它的选择值是1.所以我现有的表应如下所示:

ID              Value         CourseID
   -----            ------       ----------
    1                100             1
    2                150             1

这该怎么做?

3 回答

  • 115

    没有For循环:

    Dim newColumn As New Data.DataColumn("Foo", GetType(System.String))     
    newColumn.DefaultValue = "Your DropDownList value" 
    table.Columns.Add(newColumn)
    

    这是未经测试的 . 我用过在线C#conversion tool

    System.Data.DataColumn newColumn = new System.Data.DataColumn("Foo", typeof(System.String));
    newColumn.DefaultValue = "Your DropDownList value";
    table.Columns.Add(newColumn);
    
  • -2

    添加列并更新 DataTable 中的所有行,例如:

    DataTable tbl = new DataTable();
    tbl.Columns.Add(new DataColumn("ID", typeof(Int32)));
    tbl.Columns.Add(new DataColumn("Name", typeof(string)));
    for (Int32 i = 1; i <= 10; i++) {
        DataRow row = tbl.NewRow();
        row["ID"] = i;
        row["Name"] = i + ". row";
        tbl.Rows.Add(row);
    }
    DataColumn newCol = new DataColumn("NewColumn", typeof(string));
    newCol.AllowDBNull = true;
    tbl.Columns.Add(newCol);
    foreach (DataRow row in tbl.Rows) {
        row["NewColumn"] = "You DropDownList value";
    }
    //if you don't want to allow null-values'
    newCol.AllowDBNull = false;
    
  • 12
    //Data Table
    
     protected DataTable tblDynamic
            {
                get
                {
                    return (DataTable)ViewState["tblDynamic"];
                }
                set
                {
                    ViewState["tblDynamic"] = value;
                }
            }
    //DynamicReport_GetUserType() function for getting data from DB
    
    
    System.Data.DataSet ds = manage.DynamicReport_GetUserType();
                    tblDynamic = ds.Tables[13];
    
    //Add Column as "TypeName"
    
                    tblDynamic.Columns.Add(new DataColumn("TypeName", typeof(string)));
    
    //fill column data against ds.Tables[13]
    
    
                    for (int i = 0; i < tblDynamic.Rows.Count; i++)
                    {
    
                        if (tblDynamic.Rows[i]["Type"].ToString()=="A")
                        {
                            tblDynamic.Rows[i]["TypeName"] = "Apple";
                        }
                        if (tblDynamic.Rows[i]["Type"].ToString() == "B")
                        {
                            tblDynamic.Rows[i]["TypeName"] = "Ball";
                        }
                        if (tblDynamic.Rows[i]["Type"].ToString() == "C")
                        {
                            tblDynamic.Rows[i]["TypeName"] = "Cat";
                        }
                        if (tblDynamic.Rows[i]["Type"].ToString() == "D")
                        {
                            tblDynamic.Rows[i]["TypeName"] = "Dog;
                        }
                    }
    

相关问题