2016-04-30 51 views
0

我有一个DataGridView,我将所有的列设置为false。
现在我设置了DataSource,Kaboom,猜猜看是什么?第一列是可见的。为什么会发生?什么原因?
有没有办法来防止这种默认行为或使用其他操作来覆盖它?Datagridview显示设置数据源后的第一列,当所有的列都不可见时

+0

http://stackoverflow.com/questions/6359234/datagridview-id-column-will-not-hide请在这里看到这里, Hope help – Berkay

回答

0

尽管B.Yaylaci的suggested link的答案对我有帮助,但我觉得他们对于未来的开发者维护你的代码很晦涩 - 如果你想让你的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

相关问题