猿问

将DataGridView中的SelectionMode从RowHeaderSelect更改为

我从DataTable填充DataGridView。我的DataGridView具有SelectionMode RowHeaderSelect,但现在我想将其更改为ColumnHeaderSelect。


但是,当我更改属性时,我得到一个例外。


我对RowHeaderSelect的代码:

如何创建数据表:


values = new string[numbersOfRows, numbersOfColumns]; //is filled in a different part in the code


DataTable dt = new DataTable();


for (int i = 0; i < numbersOfColumns; i++)

{

    dt.Columns.Add(values[0, i]);

}


for (int j = 2; j < numbersOfRows; j++)

{

    DataRow row = dt.NewRow();

    for (int i = 0; i < numbersOfColumns; i++)

    {

        row[i] = values[j,i];

    }

    dt.Rows.Add(row);

}

我如何创建我的DataGridView:


dgv_schedule.DataSource = dt.DefaultView; //In this line I get my exception when I change 

                                          //the SelectionMode from RowHeaderSelect to 

                                          //ColumnHeaderSelect

有人知道我在做什么错吗?

异常:System.InvalidOperationException和我使用WinForms


SMILET
浏览 350回答 1
1回答

慕尼黑8549860

我通过添加以下代码解决了我的问题:dgv_schedule.DataSource = dt.DefaultView; //Selection mode is RowHeaderSelectfor (int i = 0; i < numberOfColumns; i++){&nbsp; &nbsp; dgv_schedule.Columns[i].SortMode = DataGridViewColumnSortMode.NotSortable;}dgv_schedule.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.ColumnHeaderSelect;
随时随地看视频慕课网APP
我要回答