【发布时间】:2013-06-20 08:50:41
【问题描述】:
我有 DataGridView 以编程方式加载一些数据。插入我的数据后,我正在显示 DataGridView 。这里默认选择第一行第 0 列单元格。但我不需要那个。我试图禁用该选项。
datagridviewname.currentcell=null
但它不会起作用。任何机构都可以帮助我解决我的问题。
【问题讨论】:
-
期望的行为是什么?
我有 DataGridView 以编程方式加载一些数据。插入我的数据后,我正在显示 DataGridView 。这里默认选择第一行第 0 列单元格。但我不需要那个。我试图禁用该选项。
datagridviewname.currentcell=null
但它不会起作用。任何机构都可以帮助我解决我的问题。
【问题讨论】:
将CurrentCell Selected 属性设置为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();
}
【讨论】:
您应该在表单的表单加载事件而不是构造函数中执行清除选择。
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;
}
【讨论】:
您可以将此属性设置为null来暂时移除焦点矩形,但是当控件接收到焦点并且该属性的值为null时,它会自动设置为FirstDisplayedCell属性的值。
所以看起来将其设置为 null 仅在它不是第一行第一列单元格时才有效。
【讨论】: