C# 在GridView中转置列

C# 在GridView中转置列,c#,asp.net,C#,Asp.net,我有一个包含如下数据的数据表 我想在我的网格视图中显示它,如下所示。实际上,它是上表的转置,另外添加了一行用于查看产品详细信息,这将是一个链接按钮。 您能帮助我如何在ASP.net中使用C#实现以下要求吗 非常感谢,, Awais Afzal.假设您的表是一个数据表,您可以使用这样的扩展对其重新排序: public static DataTable Pivot(this DataTable tbl) { var tblPivot = new DataTable(); tbl

我有一个包含如下数据的数据表

我想在我的网格视图中显示它,如下所示。实际上,它是上表的转置,另外添加了一行用于查看产品详细信息,这将是一个链接按钮。 您能帮助我如何在ASP.net中使用C#实现以下要求吗

非常感谢,,
Awais Afzal.

假设您的表是一个
数据表
,您可以使用这样的扩展对其重新排序:

public static DataTable Pivot(this DataTable tbl)
{ 
    var tblPivot = new DataTable();
    tblPivot.Columns.Add(tbl.Columns[0].ColumnName);
    for (int i = 1; i < tbl.Rows.Count; i++)
    {
        tblPivot.Columns.Add(Convert.ToString(i));
    }
    for (int col = 0; col < tbl.Columns.Count; col++)
    {
        var r = tblPivot.NewRow();
        r[0] = tbl.Columns[col].ToString();
        for (int j = 1; j < tbl.Rows.Count; j++)
            r[j] = tbl.Rows[j][col];

        tblPivot.Rows.Add(r);
    }
    return tblPivot;
}

拥有
pivot
sql查询并将其输出到datagridview可能是一种方式:)这里是。谢谢Tim,但这里我有一个问题,如何在grid视图中添加最后一行以查看整个产品详细信息。我想把图像按钮放在最后一行的每一列。@user1262790:这是一个不同的问题。您可以将GridView的
页脚行
与包含
按钮的相应
模板字段
一起使用。请记住设置
ShowFooter=True
。请在页脚行的每一列中给我提示,我需要产品id,因为我想在单击“详细信息”按钮时显示一个包含产品详细信息的弹出窗口。@TimSchmelter第一个循环应该从零开始。
dataGridView1.DataSource = oldDataTable.Pivot();