2016-08-23 3 views
0

В моем DataGridView отображаются дополнительные столбцы. Приложение представляет собой приложение для форм Windows. Что я могу делать неправильно?Формы Windows: дополнительные столбцы в DataGridView

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

+2

является то это dataGridView.ColumnCount = 5; ? – active92

+0

@ active92 Вам не нужно задавать этот вопрос. :-) – LarsTech

ответ

2

вы пробовали DataGridView1.AutoGenerateColumns = false;?

или вы можете очистить все столбцы, прежде чем добавлять новые столбцы

смотрите ссылку для справки: https://stackoverflow.com/a/7430993/5694113

+1

его автогенерированные столбцы уже установлены в false, но он поставил свой столбец на 5. Я думаю, что именно по этой причине он получает 5 столбцов. – active92

+0

God Bless @ TheQuestioner. удаление столбца ColumnCount = 5, очистка столбцов (до добавления столбцов) устраняет проблему. –

+0

, если вы думаете, что сообщение помогло вам решить ваш вопрос. пожалуйста, отметьте это как ответ. рад, что я помог :) – TheQuestioner