DataGridView:如何选择整个列并取消选择其他所有列?

Y_Y*_*Y_Y 6 c# datagridview winforms

我一直试图找到如何选择一个列下的所有单元格,用鼠标右键单击+菜单+选择此列'...

MSDN没有多大帮助......

我尝试更改选择模式时出现此错误:

DataGridView control's SelectionMode cannot be set to FullColumnSelect while it has a   column with SortMode set to DataGridViewColumnSortMode.Automatic.
Run Code Online (Sandbox Code Playgroud)

谢谢,Y_Y

Dav*_*vid 9

抱歉,花了这么长时间 - 我想在我回答之前进行测试,所以我把它放到Visual Studio中进行测试.

我必须在我的手中这样做才能让它发挥作用:

foreach (DataGridViewColumn c in dataGridView1.Columns)
{
   c.SortMode = DataGridViewColumnSortMode.NotSortable;
   c.Selected = false;
}
dataGridView1.SelectionMode = DataGridViewSelectionMode.FullColumnSelect;
dataGridView1.Columns[0].Selected = true;
Run Code Online (Sandbox Code Playgroud)

  • 对于真正的编码顾问来说,“我想在回答之前先测试”是一个完美的例子。 (2认同)

SLa*_*aks 5

循环浏览列中的单元格并将其Selected属性设置为true。
这听起来很可怕,但我相信这是选择整个列并保持自动排序的唯一方法。

例如:

grid.ClearSelection();
for(int r = 0; r < grid.RowCount; r++)
    grid[columnIndex, r].Selected = true;
Run Code Online (Sandbox Code Playgroud)