4

我有DataTable它检索多个列和行。它的一列(“评论”)包含数据*。我想用\n.

dtOutput = Generix.getTickets(DateTime.Parse("1-1-1900"), DateTime.Now,"",iTicket, "", "", "", "","",iDispatched,uCode);
string sOutput = "";
foreach (DataRow drOutput in dtOutput.Rows)
{
   sOutput += ((sOutput == "") ? "" : "~");
   foreach (DataColumn dcOutput in dtOutput.Columns)
   {                                    
      sOutput += ((sOutput == "") ? "" : "|") + Convert.ToString(drOutput[dcOutput]);
   }
}

我能够将所有列合并到一个字符串中。但是如何将字符替换为另一个字符以将其存储在与 相同的字符串中"sOutput"

4

3 回答 3

5

在 foreach 循环中,您可以通过访问列索引(“评论”)来修改行并使用 string.Replace 替换"*""\n"

foreach (DataRow drOutput in dtOutput.Rows)
{
     drOutput["Comments"] = drOutPut["Comments"].ToString().Replace('*','\n');
     //your remaining code
}
于 2012-12-05T11:33:34.377 回答
3
foreach (DataRow row in dt.Rows)
    row.SetField<string>("Comment", 
       row.Field<string>("Comment").Replace("*", @"\n"));
于 2012-12-05T11:35:27.767 回答
1
foreach (DataColumn dcOutput in dtOutput.Columns)
{                    
    sOutput += ((sOutput == "") ? "" : "|") + Convert.ToString((dcOutput.ColumnName=="Comments") ? drOutput[dcOutput].ToString().Replace("*","\n") : drOutput[dcOutput]);
}
于 2012-12-05T11:37:36.777 回答