如何在gridview中切换列和行

时间:2012-03-20 18:53:03

标签: gridview

不希望使用listview或datalist。但我想弄清楚如何切换我的列和行。

例如我的列是projectname,projectaddress等.Id喜欢这些显示为行。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

您可以在将数据集加载到gridview之前翻转数据集。

private void BindData()
{
    // Fill a dataTable with results

    // Add the dataTable to a DataSet
    DataSet ds = new DataSet();
    ds.Tables.Add(dt);

    // Flip your dataSet
    DataSet new_ds = FlipDataSet(ds);
    new_ds.Tables[0].Rows[0].Delete();

    DataView my_DataView = new_ds.Tables[0].DefaultView;
    gridView.DataSource = my_DataView;
    gridView.DataBind();
}

public DataSet FlipDataSet(DataSet my_DataSet)
{
    DataSet ds = new DataSet();

    foreach(DataTable dt in my_DataSet.Tables)
    {
        DataTable table = new DataTable();

        for(int i=0; i<=dt.Rows.Count; i++)
        {
            table.Columns.Add(Convert.ToString(i));
        }

        DataRow r;

        for(int k=0; k<dt.Columns.Count; k++)
        {
            r = table.NewRow();
            r[0] = dt.Columns[k].ToString();

            for(int j=1; j<=dt.Rows.Count; j++)
                r[j] = dt.Rows[j-1][k];

            table.Rows.Add(r);
        }

        ds.Tables.Add(table);
    }

    return ds;
}