none
DataGridView automatically adding columns I don't want !!?! RRS feed

  • Question

  • 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

    Friday, May 4, 2007 3:11 PM

Answers

  • 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)

    Friday, May 4, 2007 6:51 PM

All replies

  • Clear the DataSource property.. And in the constructor of your form set this.dataGridView.AutoGenerateColumns = false;
    Friday, May 4, 2007 3:16 PM
  • If 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 4, 2007 4:09 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)

    Friday, May 4, 2007 6:51 PM
  • Just 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.
    Thursday, January 28, 2010 10:33 AM