在 C# 中打印整个 table
print an entire table in C#
我正在尝试打印 DataTable
的内容,从列 headers 开始,然后是 table 元组的内容。
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}]");
}
此代码中的 (*)
部分使用 DataColumn
最大长度的 MaxLength
属性 以获得 column-like 输出。
我想在(**)
部分做同样的事情,但我不知道如何访问相应的DataColumn
,从dataRow
开始 object.
有人知道吗?
提前致谢
您已经有可用的 dataTable
实例。 dataTable.Columns[i]
应该给你合适的 DataColumn
.
Datatable
这里已经实例化了。如果你想打印数据列,你应该使用 dataTable.Column[i]
作为适当的列。
我正在尝试打印 DataTable
的内容,从列 headers 开始,然后是 table 元组的内容。
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}]");
}
此代码中的 (*)
部分使用 DataColumn
最大长度的 MaxLength
属性 以获得 column-like 输出。
我想在(**)
部分做同样的事情,但我不知道如何访问相应的DataColumn
,从dataRow
开始 object.
有人知道吗?
提前致谢
您已经有可用的 dataTable
实例。 dataTable.Columns[i]
应该给你合适的 DataColumn
.
Datatable
这里已经实例化了。如果你想打印数据列,你应该使用 dataTable.Column[i]
作为适当的列。