禁用datagridView中的默认单元格选择

本文关键字:单元格 选择 默认 datagridView 禁用 | 更新日期: 2023-09-27 18:19:05

我有DataGridView加载一些数据编程。插入我的数据后,我显示了DataGridView。这里默认选择第1行第0列单元格。但我不需要那个。我试过禁用这个选项。

datagridviewname.currentcell=null   

但它不会工作。任何人都可以帮助我解决我的问题。

禁用datagridView中的默认单元格选择

设置CurrentCellSelected属性为False,如:

   dataGridViewName.CurrentCell.Selected = false;

在DataGridView上为DataBindingComplete创建一个事件,然后添加datagridview1.ClearSelection()方法

private void datagridview1_DataBindingComplete(object sender, EventArgs e)
{
    datagridview1.ClearSelection();
}

为什么设置为空?应该是这样的。我想它会成功的

dataGridViewName.Rows[0].Cells[0].Selected = false;

如果第1行第0行,则

dataGridViewName.Rows[1].Cells[0].Selected = false;

唯一的方法是:

private void dataGridView_SelectionChanged(object sender, EventArgs e)
{
     dataGridView.ClearSelection();
}

你应该在表单的form load事件而不是构造函数中执行clear selection。

private void Form1_Load(object sender, EventArgs e)
{
 // You will get selectedCells count 1 here
 DataGridViewSelectedCellCollection selectedCells = dataGridView.SelectedCells;
 // Call clearSelection 
 dataGridView.ClearSelection();
 // Now You will get selectedCells count 0 here
 selectedCells = dataGridViewSchedule.SelectedCells;
}

MSDN

您可以将此属性设置为null以暂时移除焦点矩形,但是当控件接收焦点并且此属性的值为null时,它会自动设置为FirstDisplayedCell属性的值。

所以看起来只有当它不是第一行第一列的单元格时才可以将其设置为null