我正在尝试打印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}]");
}
该代码中的(*)
部分使用DataColumn
的最大长度的MaxLength
属性,以获得类似列的输出。
我想在(**)
部分中也这样做,但我不知道如何从dataRow
对象开始访问相应的DataColumn
。
有人有主意吗
提前感谢
您已经有了可用的dataTable
实例。dataTable.Columns[i]
应为您提供适当的DataColumn
。
Datatable
已在此处实例化。如果要打印数据列,则应为相应的列使用dataTable.Column[i]
。