0

行が行ごとにきれいに表示されるように、データテーブルをループするにはどうすればよいですか。

私が試したことは次のとおりですが、このようにすべてのデータが1つの列に表示されます。

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 に答える