[英]After setting DataSource of DataGridView, Columns and Rows are still empty
[英]Datagridview shows first column after setting Datasource when all columns are invisible
我有一个DataGridView
,我将所有列的可见设置为false。
现在我设置了数据源,Kaboom,猜猜是什么? 第一列可见。 为什么会这样呢? 什么原因?
有没有办法防止这种默认行为或用其他措施替代它?
虽然B.Yaylaci的建议链接中的答案会有所帮助,但我认为它们对于将来的开发人员维护您的代码是晦涩的-另外,如果您希望在某个时候使ID列可见但又不想最后显示它,该怎么办在列中? 更改DataSource
时解决这些问题的一种简单方法是在DataGridView.DataBindingComplete
事件中设置列可见性,以获得更一致的行为。
例如,如果由于某种原因我希望在绑定之后DataGridView
看起来完全为空*,直到我做出其他决定(某种逻辑还是用户交互?),那么我可以执行以下操作:
private void DataGridView1_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
{
foreach (DataGridViewColumn col in this.dataGridView1.Columns)
{
col.Visible = false;
}
this.dataGridView1.RowHeadersVisible = false;
this.dataGridView1.ScrollBars = ScrollBars.None;
}
*注意:如果以后使列可见,则需要重置RowHeadersVisible
和ScrollBars
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.