On my Windows Form I have a DataGridView component, which is bound to a BindingSource. The BindingSource is an object datasource to an EntityFramework object.
Some times the columns in my DataBridView are renewed. Sometimes all properties are added as column, but now it also removed all my columns. So i've lost all my settings.
When to columns get automatically get added?
(I'm using VS.NET 2010)
Update:
//
// Summary:
// Gets or sets a value indicating whether columns are created automatically
// when the System.Windows.Forms.DataGridView.DataSource or System.Windows.Forms.DataGridView.DataMember
// properties are set.
//
// Returns:
// true if the columns should be created automatically; otherwise, false. The
// default is true.
[Browsable(false)]
[EditorBrowsable(EditorBrowsableState.Advanced)]
[DefaultValue(true)]
public bool AutoGenerateColumns { get; set; }
The property did not show up in the designer, and "hide advanced properties" is not checked.
Update 2: When I update my entity framework model, all columns are added again. I only can set the property in the constructor of the form. This is very annoying.
I actually don't know when this happens, but I tend to create all the columns manually. I create the columns in the designer and set the AutoGenerateColumns
property to false
in my code.
Add this code or change your DataGridView Property AutoGenerateColumns
to false
DataGridView1.AutoGenerateColumns=false;
Set AutoGenerateColumns property to False but keep remember do it just before databinding.
eg:
DataGridView1.AutoGenerateColumns=false;
DataGridView1.DataSource=getData();
By default it is set to True.
Try leave first of auto generated columns and set it visibility false. If it don't help try leave all them with Visible=false. Sorry for bad English.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With