繁体   English   中英

在WinForm应用程序中加载表单后,在datagridview中禁用默认单元格选择

[英]Disable default cell selection in a datagridview after form load in WinForm Application

我在Window Form Application中有一个dataGridView控件。 dataGridView中添加了三列。 我在dataGridView中添加了20个空行以显示一些空白单元格。(否则dataGridView只显示灰色区域)。

在dataGridView控件上,我添加了三列“a”,“b”,“c”。 在表单加载中,我添加了这个,

dataGridView1.Rows.Add(20);

在form initialize之后,datagridview显示一些空白单元格,但是第一行中的第一个单元格被选中(用蓝色突出显示)。 请注意,datagridview中没有数据。 我无法弄清楚如何清除默认选择。

我做了一些研究。 有一些讨论。 我试过了,他们没有工作。 我认为这是因为我没有控件中的数据。 但是以下链接中提到的方法是用于加载数据的datagridview。

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

禁用窗口gridview获取焦点在第一行

还有一些关于Windows商店应用程序的讨论。 (我正在使用Windows窗体应用程序)

http://social.msdn.microsoft.com/Forums/windowsapps/en-US/1dc26694-1147-4d5b-8b7d-11c9c493e605/how-to-disable-default-selection-in-gridview-

如何防止数据绑定中GridView中第一个项目的自动选择?

如果你能给我一些想法,请提前感谢。

我在我的项目表单的Shown -event中使用了这段代码:

dataGridView1.ClearSelection();

DataGridView1.FirstDisplayedCell.Selected = False

我不能在新的测试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;

我不知道是什么原因造成这种情况..(但是我会把它添加到答案中。)

在我的情况下,我使用这段代码工作:

dataGridView1.EndEdit();

希望这有助于某人。

如果有人仍然遇到麻烦,我发现当上述所有建议都失败时,这对我有用。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM