如何将一个数据列的值复制到同一数据表C#中的另一个数据列中?

时间:2012-08-31 03:18:30

标签: c# datatable

我想将{dat}的itemarray[4]复制到该数据表的itemarray[6]。我使用了这段代码,但没有看到任何变化:

foreach (DataRow dr_row in dt_table.Rows)
{
    foreach (var field_value in dr_row.ItemArray)
    {
        object cell_data = field_value;
        if (dr_row.ItemArray[6].ToString() == "")
        {
            dr_row.ItemArray[6] = dr_row.ItemArray[4];
        }
        original_data += cell_data.ToString();
    }
    original_data += Environment.NewLine;
}

2 个答案:

答案 0 :(得分:2)

首先永远不要这样做:

dr_row.ItemArray[6].ToString() == ""

将其更改为:

dr_row.ItemArray[6].ToString() == String.Empty

或:

 String.IsNullOrEmpty(dr_row.ItemArray[6].ToString())

然而,这只是一种很好的做法。现在,针对你所面临的问题。

Itemarray的作用是,它会从行创建一个新数组,因此如果更改数组,则不会更改该行。

这样做:

dr_row[6] = dr_row[4];

应该工作。

答案 1 :(得分:1)

试试这个,

 foreach (DataRow dr_row in dt_table.Rows)
  {
     dr_row[6] = dr_row[4];
  }

并使用System.Text.StringBuilder附加数据。

 System.Text.StringBuilder sb = new StringBuilder();
 sb.Append(value1);