Winform DataGridView 取消默认选中行
Posted chasingdreams2017
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Winform DataGridView 取消默认选中行相关的知识,希望对你有一定的参考价值。
困境
网上有很多解决方法,可是很多读者照做并不生效。追究其原因,问题出现在许多博主没有搞清楚DataGridView绑定与当前触发事件的关系。
复现
private void Frm_Load(object sender, EventArgs e)
{
datagridview.AutoGenerateColumns = false;
DataTable dataTable = new DataTable();
for (int i = 1; i <= 7; i++)
{
dataTable.Columns.Add("DPN" + i.ToString());
}
DataRow row11 = dataTable.NewRow();
row11["DPN1"] = "Test1";
row11["DPN2"] = "Test1";
row11["DPN3"] = "Test1";
row11["DPN4"] = "Test1";
row11["DPN5"] = "Test1";
row11["DPN6"] = "Test1";
row11["DPN7"] = "Test1";
dataTable.Rows.Add(row11);
datagridview.DataSource = dataTable;
datagridview.ClearSelection = false;
}
使用datagridview.ClearSelection = false;
是很多博客的解决办法,但是在此示例里面并不生效!!!
解决
其实很简单,使用DataBindingComplete
事件即可。该事件发生在数据源绑定完成之后。
private void datagridview_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
{
datagridview.ClearSelection();
}
感谢
同事 PhantomSix
声明
本文采用知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议进行许可,发表在CSDN和博客园,欢迎读者转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接!
以上是关于Winform DataGridView 取消默认选中行的主要内容,如果未能解决你的问题,请参考以下文章
C#WinForm datagridview控件一选选一整行的效果实现时,取消第一行默认被选取的副效果
c# winform编程 数据库 .net 怎么获取datagridview中选中列的列索引?