我在Window Form Application中有一个dataGridView控件。 dataGridView中添加了三列。我在dataGridView中添加了20个空行以显示一些空白单元格。(否则dataGridView只显示灰色区域)。
在dataGridView控件上,我添加了三列“a”,“b”,“c”。在表单加载中,我添加了这个,
dataGridView1.Rows.Add(20);
表单初始化后,datagridview显示一些空白单元格,但第一行中的第一个单元格被选中(以蓝色突出显示)。 请注意,datagridview中没有数据。我无法弄清楚如何清除默认选择。
我做了一些研究。有一些讨论。我试过了,他们没有工作。我认为这是因为我没有控件中的数据。但是,以下链接中提到的方法是用于加载数据的datagridview。
Disable default cell selection in datagridView
disable window gridview get focus on first row
还有一些关于Windows商店应用程序的讨论。 (我正在使用Windows窗体应用程序)
how to prevent autoselection of first item in GridView on databind?
如果你能给我一些想法,请提前致谢。
答案 0 :(得分:8)
我在项目的表单Shown
- 事件:
dataGridView1.ClearSelection();
答案 1 :(得分:2)
DataGridView1.FirstDisplayedCell.Selected = False
答案 2 :(得分:1)
我无法在新的测试DGV中复制,但我以前见过它。
以下是我发现的工作:
bool old = dataGridView1.MultiSelect;
dataGridView1.MultiSelect = false;
dataGridView1.Rows[1].Cells[0].Selected = true;
dataGridView1.Rows[1].Cells[0].Selected = false;
dataGridView1.MultiSelect = old;
我有时候不知道是什么原因引起的。 (..但是我会把它添加到答案中。)
答案 3 :(得分:0)
在我的情况下,我使用这段代码让它工作:
dataGridView1.EndEdit();
希望这有助于某人。
答案 4 :(得分:0)
如果有人仍然遇到这方面的麻烦,我发现当上述所有建议都失败时,这对我有用。
在DataGridView上为DataBindingComplete创建一个事件,然后添加此方法datagridview1.ClearSelection();