C# 转置数据表代码提供一个额外的行,指示列的索引

C# 转置数据表代码提供一个额外的行,指示列的索引,c#,asp.net,datatable,transpose,C#,Asp.net,Datatable,Transpose,我必须对我的数据表进行转置,我使用了在互联网上找到的代码。此代码在顶部提供了一个额外的行,显示列索引。我如何删除这一行?这一额外的行位于我的数据表的标题行上方,当我使用代码dt_.Rows.remove(dt_.Rows[0])时删除标题行,但不删除顶行。参考资料取自: 如何删除最上面一行 DataTable dt_ = new DataTable(); DataTable table = new DataTable(); //Get all the rows and change into

我必须对我的数据表进行转置,我使用了在互联网上找到的代码。此代码在顶部提供了一个额外的行,显示列索引。我如何删除这一行?这一额外的行位于我的数据表的标题行上方,当我使用代码
dt_.Rows.remove(dt_.Rows[0])时删除标题行,但不删除顶行。参考资料取自:

如何删除最上面一行

DataTable dt_ = new DataTable();

DataTable table = new DataTable();
//Get all the rows and change into columns
for (int i = 0; i <= dt.Rows.Count; i++)
{
    table.Columns.Add(Convert.ToString(i));
}
DataRow dr;
//get all the columns and make it as rows
for (int j = 0; j < dt.Columns.Count; j++)
{
    dr = table.NewRow();
    dr[0] = dt.Columns[j].ToString();
    for (int k = 1; k <= dt.Rows.Count; k++)
    {
        dr[k] = dt.Rows[k - 1][j];
    }

    table.Rows.Add(dr);
}

dt_ = table;

//dt_.Rows.Remove(dt_.Rows[0]); removes the header row
DataTable dt_389;=新的DataTable();
DataTable=新的DataTable();
//获取所有行并将其更改为列

对于(inti=0;i我认为如果从1开始循环,它应该可以工作

        DataTable dt = new DataTable();
        DataTable dt_ = new DataTable();

        DataTable table = new DataTable();
        //Get all the rows and change into columns
        for (int i = 0; i <= dt.Rows.Count; i++)
        {
            table.Columns.Add(Convert.ToString(i));
        }
        DataRow dr;
        //get all the columns and make it as rows
        //HERE THE LOOK STARTS FROM ONE
        for (int j = 1; j < dt.Columns.Count; j++)
        {
            dr = table.NewRow();
            dr[0] = dt.Columns[j].ToString();
            for (int k = 1; k <= dt.Rows.Count; k++)
            {
                dr[k] = dt.Rows[k - 1][j];
            }

            table.Rows.Add(dr);
        }

        dt_ = table;
DataTable dt=newdatatable();
DataTable dt_=新DataTable();
DataTable=新的DataTable();
//获取所有行并将其更改为列
对于(inti=0;i这是因为

//Get all the rows and change into columns
for (int i = 0; i <= dt.Rows.Count; i++)
{
    table.Columns.Add(Convert.ToString(i));
}

这不是你的
数据表
,而是关于它是如何呈现的。显示你的标记。@Crowcoder添加了代码。谢谢!这是新的列名。你必须有一个,而且每个列名都必须是唯一的。因为你没有提供一个,所以它被设置为0、1、2等。我建议将每个列名命名为唯一的,这对用户来说是有意义的新专栏。抱歉,我错了。你想把图片中的表格调换一下吗?
//Get all the rows and change into columns
for (int i = 0; i <= dt.Rows.Count; i++)
{
    table.Columns.Add(Convert.ToString(i));
}
DataTable dt_ = new DataTable();

DataTable table = new DataTable();
//Get all the rows and change into columns
for (int i = 0; i <= dt.Rows.Count; i++)
{
    table.Columns.Add(dt.Rows[i][0]); // the column name is in the first cell
}
DataRow dr;
//get all the columns and make it as rows
for (int j = 0; j < dt.Columns.Count; j++)
{
    dr = table.NewRow();
    dr[0] = dt.Columns[j].ToString();

    // changed the for condition
    for (int k = 1; k < dt.Rows.Count; k++)
    {
        dr[k] = dt.Rows[k][j]; // changed the 'k - 1' to 'k'
    }

    table.Rows.Add(dr);
}

dt_ = table;