将DataTable中的第一行作为列的名称
本文关键字:一行 DataTable | 更新日期: 2023-09-27 18:19:23
我试图将DataTable的第一行设置为列名。我正在使用来自Code Project的GenericParsing库。问题是解析器为列设置了默认名称。
谢谢。
我认为你需要以下内容:
foreach (DataColumn column in table.Columns)
{
string cName = table.Rows[0][column.ColumnName].ToString();
if (!table.Columns.Contains(cName) && cName != "")
{
column.ColumnName = cName;
}
}
table.Rows[0].Delete(); //If you don't need that row any more
这应该是你想要的:
DataRow firstRow = table.NewRow();
List<string> names = new List<string>();
foreach (DataColumn column in table.Columns)
{
names.Add(column.ColumnName);
}
firstRow.ItemArray = names.ToArray();
table.Rows.InsertAt(firstRow, 0);
如果第一行已经存在,并且您想要"覆盖"它,则将第一行更改为:
DataRow firstRow = table.Rows[0];
并删除最后一行
我希望这对你有帮助,这将使所有的行作为你的列头
foreach (DataRow inRow in inputTable.Rows)
{
string newColName = inRow[0].ToString();
outputTable.Columns.Add(newColName);
}