【发布时间】:2014-06-02 17:27:43
【问题描述】:
我在窗口窗体应用程序中有一个 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?
如果您能给我一些想法,请提前感谢。
【问题讨论】:
-
没有。将所述单元格的 Selected 属性设置为 false 无需任何数据即可正常工作。如果您没有成功(我记得去年遇到过奇怪的问题),请执行以下操作:将另一个单元格设置为 true,然后再设置为 false。它会起作用的,保证!
-
@Taw:在表单加载中添加:dataGridView3.Rows[0].Cells[0].Selected = false;不工作。然后试试这个,dataGridView3.Rows[0].Cells[1].Selected = true; dataGridView3.Rows[0].Cells[1].Selected = false;仍然没有工作。我是不是哪里错了?
-
嗯,我不知道。我想我之前将
MultiSelect设置为 false 并在之后将其重置.. -
@Taw:顺便说一句,即使我尝试 dataGridView3.Rows[0].Cells[0].Selected = false; ataGridView3.Rows[0].Cells[2].Selected = true;仍然选择了第一行中的第一个单元格...
-
@Taw:好的,在我将 MultiSelect 设置为 false 后它就可以工作了。
标签: c# winforms datagridview