0

如何循环遍历数据表,以便行在彼此下方整齐地显示,逐行显示。

我尝试过的是以下内容,但就像这样,所有数据都显示在一列中。

foreach (DataRow row in myTopTenData.Rows)
            {
                foreach (DataColumn col in myTopTenData.Columns)
                {
                    Console.Write(row[col].ToString() + " ");
                    Console.WriteLine();
                }
            }
4

3 回答 3

1

您可以使用这个小 Linq 查询和String.Join

var allFields = myTopTenData.AsEnumerable()
      .Select(r => string.Join(Environment.NewLine, r.ItemArray));
string allFieldsLines = string.Join(Environment.NewLine, allFields);

Console.Write(allFieldsLines);

这是带有循环的非 Linq 版本:

foreach (DataRow row in myTopTenData.Rows)
    Console.Write(string.Join(Environment.NewLine, row.ItemArray) + Environment.NewLine);
于 2013-01-17T10:04:14.950 回答
1

你为什么不试试这个:

foreach (DataRow row in myTopTenData.Rows)
{
    foreach (DataColumn col in myTopTenData.Columns)
    {
        Console.Write(row[col].ToString() + " ");
    }
    Console.WriteLine();
}
于 2013-01-17T10:04:26.143 回答
1
foreach (DataRow row in myTopTenData.Rows)
    {
        foreach (DataColumn col in myTopTenData.Columns)
            Console.Write(string.Format("{0, -10}", row[col].ToString()));

        Console.WriteLine();
     }

string.Format"{0, -10}"将帮助您对齐列(左对齐使用负值,右对齐使用正值,当然 10 是任意值)。

于 2013-01-17T10:07:36.917 回答