0

My DataGridView is showing extra columns. The application is a windows forms application. What could I be doing wrong?

public ConvertisForm1()
    {
        InitializeComponent();
        openFileDialog.Filter = "Files| *.chm;*.htm;*.html;*.rtf;*.xls;*.xlsx;*.xps;*.doc;*.docx";    
    dataGridView.AutoGenerateColumns = false;
    dataGridView.RowHeadersVisible = false;
    dataGridView.ColumnCount = 5;

    dataGridView.RowCount = 20;
    //delete button
    var deleteDataGridViewButtonColumn = new DataGridViewButtonColumn
    {
        HeaderText = "",
        Name = deleteDataGridViewButtonColumnName,
        Text = "X",
        Width =20
    };
    dataGridView.Columns.Insert(DeleteColumnIndex, deleteDataGridViewButtonColumn);

    dataGridView.Columns[FileNameAndPathColumnIndex].Width=250;
    dataGridView.Columns[FileNameAndPathColumnIndex].HeaderText = "File Path";

    //browse button
    var browseDataGridViewButtonColumn = new DataGridViewButtonColumn
    {
        HeaderText = "",
        Name = browseDataGridViewButtonColumnName,
        Text = "...",
        Width = 30
    };
    dataGridView.Columns.Insert(BrowseButtonColumnIndex, browseDataGridViewButtonColumn);

    //convert to dropdown
    var convertToDataGridViewComboBoxColumn = new DataGridViewComboBoxColumn
    {
        HeaderText = "Convert to",
        Name = convertToDataGridViewComboBoxColumnName,
        DataSource = new ArrayList { convertToComboBoxDefault, "pdf", "word"},
        Width = 100,
        DefaultCellStyle =
        {
            NullValue = convertToComboBoxDefault,
            DataSourceNullValue = convertToComboBoxDefault
        }
    };

    dataGridView.Columns.Insert(ConvertToFileTypeColumnIndex, convertToDataGridViewComboBoxColumn);

    var convertDataGridViewButtonColumn = new DataGridViewButtonColumn
    {
        HeaderText = "",
        Name = convertDataGridViewButtonColumnName,
        Text = "Convert",
        Width = 50
    };
    dataGridView.Columns.Insert(ConvertButtonColumnIndex, convertDataGridViewButtonColumn);
    dataGridView.AllowUserToResizeColumns = false;
    dataGridView.AllowUserToResizeRows = false;
    #endregion
}

enter image description here

Ajit Goel
  • 4,180
  • 7
  • 59
  • 107

1 Answers1

3

have you tried DataGridView1.AutoGenerateColumns = false; ?

or you can clear all Columns before adding new Columns

see link for reference: https://stackoverflow.com/a/7430993/5694113

Community
  • 1
  • 1
TheQuestioner
  • 702
  • 10
  • 28
  • 1
    his autogeneratedcolumns is already set to false but he put his columncount to 5. i think that's the reason why he is getting 5 columns. – active92 Aug 23 '16 at 02:15
  • God Bless @TheQuestioner. removing the ColumnCount=5, clearing the columns(before adding the columns) fixed the issue. – Ajit Goel Aug 23 '16 at 02:59
  • if you think a post helped you solve your question. please mark it as an answer. glad i helped :) – TheQuestioner Aug 23 '16 at 04:37