首页 > 解决方案 > 在 C# 中打印整个表格

问题描述

我正在尝试打印 a 的内容DataTable,从列标题开始,然后是表元组的内容。

output.Add($"Table : [{dataTable.TableName}]");
string strColumnNames = "";
foreach (DataColumn col in dataTable.Columns)
{
    if (strColumnNames == "")
         strColumnNames = col.ColumnName.PadLeft(col.MaxLength - col.ColumnName.Length);  // (*)
    else strColumnNames = strColumnNames + "|" + 
                          col.ColumnName.PadLeft(col.MaxLength - col.ColumnName.Length);  // (*)
}
output.Add($"[{strColumnNames}]");


foreach (DataRow dataRow in dataTable.Rows)
{
    string temp = "";
    for (int i = 0; i < dataRow.ItemArray.Count(); i++)
    {
        if (i == 0)
            temp = dataRow.ItemArray[i].ToString();                          // (**)
        else temp += "|" + dataRow.ItemArray[i].ToString();                  // (**)
    }
    output.Add($"[{temp}]");
}

(*)此代码中的部分使用 s 最大长度的MaxLength属性DataColumn来获得类似列的输出。

我想在(**)零件中做同样的事情,但我不知道如何DataColumndataRow对象开始访问相应的 .

有人有想法吗?
提前致谢

标签: c#datatabledatarowdatacolumn

解决方案


您已经拥有dataTable可用的实例。dataTable.Columns[i]应该给你合适的DataColumn


推荐阅读