DataGridView automatically adding columns I don't want !!?!
-
Friday, May 04, 2007 3:11 PM
Hello -
I'm sure this is something simple, but I've got a databound DataGridView where I have several columns from the data source and some unbound columns like buttons and so forth. The problem is that every time I go to make simple changes through the column editor, I see that VS 2005 has added ALL the columns from the datasource to the grid - even columns that I already had in there. While its not a problem to remove the additional columns, I'd sure like to know if there was a way to prevent VS 2005 from doing this seemingly every time.
Thanks,
Jeff Balcerzak
Answers
-
Friday, May 04, 2007 6:51 PM
Well, i just tried it:
- The columns that where added by the designer disappear
- The columns that you added manually remain (and if you set their datapropertyname to a property that existed on the datasource this datapropertyname remains too)
All Replies
-
Friday, May 04, 2007 3:16 PMClear the DataSource property.. And in the constructor of your form set this.dataGridView.AutoGenerateColumns = false;
-
Friday, May 04, 2007 4:09 PMIf I clear my data source, won't I lose the columns I already have defined? You'd think that auto create columns property would be visible at design time...
-
Friday, May 04, 2007 6:51 PM
Well, i just tried it:
- The columns that where added by the designer disappear
- The columns that you added manually remain (and if you set their datapropertyname to a property that existed on the datasource this datapropertyname remains too) -
Thursday, January 28, 2010 10:33 AMJust adding:
this.dataGridView.AutoGenerateColumns = false;
Worked for me. No need to make any changes with regards to setting up the datasource.
However I think you will need to set AutoGenerateColumns to false as early as possible in the lifecycle, I ran it in the form constructor after InitializeComponent(). The first time I set the datasource is when a button is pressed, and this is set programatically.

