繁体   English   中英

当所有列都不可见时,Datagridview显示设置数据源后的第一列

[英]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;
}

*注意:如果以后使列可见,则需要重置RowHeadersVisibleScrollBars

暂无
暂无

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

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