如何将值添加到现有行中的新数据表列中

本文关键字:数据表 添加 | 更新日期: 2023-09-27 18:20:13

这是我的问题。我正在尝试使用我的数据表的"全名"字段,并将名称拆分为first和last,然后将这些名称添加回数据表中的正确位置。到目前为止,这就是我所拥有的。

DataTable DBTable = LoadMailingListContent(Location);
List<string> fullNames = DBTable.Rows.OfType<DataRow>().Select(dr => dr.Field<string>(columnName)).ToList();
DBTable.Columns.Remove(columnName);
DBTable.Columns.Add("First Name");
DBTable.Columns.Add("Last Name");
foreach (string fullname in fullNames)
{
    var names = fullname.Split(' ');
    string firstName = names[0];
    string lastName = names[1];
    //here is where I want to add the new name values into their new fields
}

我可以在foreach循环中设置一个计数器,并根据行的索引将名称添加回来吗?我需要关于如何将新的名字和姓氏值添加回我的新字段的帮助。

感谢

如何将值添加到现有行中的新数据表列中

尝试

DataTable DBTable = LoadMailingListContent(Location);
DataColumn dc = new DataColumn("FirstName");
DBTable.Columns.Add(dc);
dc = new DataColumn("LastName");
DBTable.Columns.Add(dc);
foreach (DataRow d in DBTable.Rows)
{ 
    var names = d["fullname"].ToString().Split(' ');
    d["FirstName"] = names[0];
    d["LastName"] = names[1];
}

下面是将列及其值添加到现有数据表的简单示例。

string status = "ABC";
        DataColumn dc = new DataColumn("Status");
        dt.Columns.Add(dc);
        foreach (DataRow dr in dt.Rows)
        {
            dr["status"]= status;
        }
        return dt;

生成的数据表将看起来像

ExistingColumn |状态

现有值|ABC

for (int iter = 0; iter < fullNames.Count; iter++)
{
  var names = fullNames[iter].Split(' ');
  string firstName = names[0];
  string lastName = names[1];
  DBTable.Rows[iter]["First Name"] = firstName;
  DBTable.Rows[iter]["Last Name"] = lastName;
}
DBTable["First Name"] = firstName;
DBTable["Last Name"] = lastName;