How to rotate a `datagridview` in C#

我是研究僧i 提交于 2021-02-17 02:44:05

问题


I have datatable that has 1 row and of course caption name columns, now I want to show them vertically in a datagridview

for example the datagridview must have 2 columns that rows of one of them shows caption name and the other shows related values of datatable I try to do that by this code but it shows an exception:

{"There is no row at position 1."}

the code is:

public static void GetSelectedFeedsDetails(Form1 frm)
{
    string StrCon = System.Configuration.ConfigurationManager.ConnectionStrings["FeedLibraryConnectionString"].ConnectionString;
    OleDbConnection Connection = new OleDbConnection(StrCon);
    OleDbDataAdapter DataA = new OleDbDataAdapter("Select * from SelectedFeeds where ID=" + frm.SelectedFeedlistBox.SelectedValue, Connection);
    DataTable OldDTable = new DataTable();
    DataA.Fill(OldDTable);


    DataTable NewDTable = new DataTable();

    NewDTable.Columns.Add("Feild Name");

    for (int i = 0; i < OldDTable.Rows.Count; i++)
    {
        NewDTable.Columns.Add();
    }

    for (int i = 0; i < OldDTable.Columns.Count; i++)
    {
        DataRow NewRow = NewDTable.NewRow();
        NewRow[0] = OldDTable.Columns[i].Caption;

        for(int j = 0; j < OldDTable.Columns.Count; j++)
        {
            NewRow[j + 1] = OldDTable.Rows[j][i];
            NewDTable.Rows.Add(NewRow);
        }
    }
    frm.dataGridView1.DataSource = NewDTable;
}  

what should I do?


回答1:


as OhBeWise said the answer is:

DataTable NewDTable = new DataTable();

NewDTable.Columns.Add("Field Name");

for (int i = 0; i < OldDTable.Rows.Count; i++)
{
    NewDTable.Columns.Add();
}

for (int i = 0; i < OldDTable.Columns.Count; i++)
{
    DataRow NewRow = NewDTable.NewRow();
    NewRow[0] = OldDTable.Columns[i].Caption;

    for (int j = 0; j < OldDTable.Rows.Count; j++)
    {
        NewRow[j + 1] = OldDTable.Rows[j][i];
    }

    NewDTable.Rows.Add(NewRow);
}


来源:https://stackoverflow.com/questions/36634058/how-to-rotate-a-datagridview-in-c-sharp

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!